본문 바로가기
Python/Python 문법

Python 기본출력함수, 서식문자, format( ), f접두어

by lchit 2019. 12. 18.

 

 

 

1. 기본 출력 함수 

 

(1) print( )

 

제일 기본이 되는 출력 함수이다

 

 

출력

 

( ) 안에 원하는 출력내용을 입력 후 F5를 눌러 실행 시 

아래와 같은 결과를 보인다

 

" ",  ' '으로 문자열 형태의 데이터를 출력할 수 있으며

생략이 되었다면 오류가 날 것이다

 

위 결과에서 볼 수 있듯이 파이썬의 print() 함수에는 자동 개행(줄 바꿈)이 포함되어있다


(2)

위와 같은 두 개의 print( ) 함수 코드를 이용하여 개행을

생략하고 출력하고 싶다면 end를 이용한다

 

end 옵션의 사용

 

결과물이 (1) 번과 다르게 공백을 포함하여 이어서 출력되고 있다.

 


(3)

하나의 print() 문으로 복수의 내용물을 한 번에 출력하고 싶다면 문자열 연산을 하거나 , 를 이용한다.

 

문자열의 이음 출력

 

, 와 + 의 차이는 결과에서 보이는 것으로는 , 는 공백을 포함하고

+는 공백 없이 이어 붙여 준다 

 

또 , 는 두 가지의 데이터가 나뉜 것을 의미하고

+는 두가지의 데이터를 +연산하여 하나의 데이터로 만든 것이다

 

문자열은 연산이 가능하다

문자열과 문자열의 +는 연결한다

문자열과 정수의 * 는 반복을 의미한다 

 

문자열의 연산

 

 

 


 

 

 

2. 서식 문자 활용 출력

 

(1) 서식 문자의 기본 사용

 

서식 문자라는 것이 있고

% d 와 같이 쓰인다 이때 d는 정수형을 의미한다

% d : 정수

% f : 실수

% s : 문자열

 

간단한 사용 예시

 

서식문자를 활용한 출력

 

'% d'로 "출력문의 내용은 정수형이 들어간다"라고 지정해준 것이며

그 뒤에 %15를 입력함으로써 실질적인 데이터 값 15를 % d자리에 넘겨준 것이다

 

'% f' 에는 정수 15를 입력하였지만 15.000000이라는 실수형 값이 출력되었다

서식 문자가 float 형으로 지정되어 실수형으로 값이 표현되는 것이다

  


 

(2) 복수의 서식 문자에 복수의 값 전달

 

간단한 덧셈 계산식으로 예를 들겠다

 

복수의 서식문자 활용 출력

 

2 + 3 = 5를 출력함에 있어 

먼저 정수형 서식 문자 % d로 세 개의 자리를 지정해주고

그 뒤에 %(2, 3, 2+3)으로 각각 서식 문자 자리에 위치할

값을 전달해주는데 이는 서로 , 로 구별하며 ( )로 감싸준다

값을 전달하는 과정에서 위처럼 ( ) 안에서 정수의 연산 후 결괏값을 전달해줄 수 있다.

 


(3) 서식 문자의 정렬 형식 지정(출력 칸수 지정) 출력

 

서식 문자에서 % 와 서식 형태(d, f, s) 사이에 정수 값을 넣는다면 이는

그 숫자만큼의 위치(공백을 앞에 두고)에서 우측 정렬하여 표현되게 된다

 

서식문자의 형식 지정(인덱스)을 활용한 우측정렬 및 칸수지정후 좌측정렬

 

Hi는 2칸이다

공백(Space)은 한 칸이다

즉, '%11s'는 문자열의 서식으로 값을 받을 것이며

11칸째부터 우측 정렬하여 출력한다는 형식 지정이 된다

 

위와 같은 원리로 Hello World에 맞게끔 11의 칸을 확보해주었고

그것을 Hello와 Hi 에도 적용하여 모두 다 11칸을 가지고 우측 정렬을

한 것이다

 

맨 밑의 Hi 에는 11칸의 공간을 주었지만 -를 숫자 앞에 붙임으로

좌측 정렬을 해주었다 고로 Hi뒤에는 9칸의 공백이 따라온 것을

드래그해보면 알 수 있다


(4) 실수형의 서식 문자 형식 지정 출력

 

 

실수형의 소숫점 자리수 표현 방법

 

 

실수형의 서식문자에 3.141592라는 값을 전달하였지만

% 와 f 사이에 .3을 입력함으로써 소수점은 3 자릿수까지 표현되게 되고

4번째 자릿수는 반올림 하여 출력한다.

 

반대로 지정한 소숫점 자릿수가 실제 값보다 많다면

나머지 소숫점자리에는 0을 출력하게 된다.

 


 

 

 

3. format( ) 함수 활용 출력

(1) format() 함수 활용하여 출력하기

 

서식 문자가 형지정 과정에서 본인은 다소 귀찮은 감이 있었다

format() 함수는 좀 더 편하다

 

기본 서식 지정 출력과 비교하여 간단한 예시를 봐보자

 

기본 서식문자 활용 출력과 format 함수 활용출력의 비교

 

기본 서식 출력은 형지정을 하여 출력문을 작성하였다

format 함수 활용 출력은 서식 문자 자리에 { }가 존재하며

값 전달은. format( 전달 내용 ) 이 되겠다.

 


 

(2) format() 함수 형식 지정 출력하기

 

format 함수도 형식을 지정하여 출력할 수 있다.

 

format함수의 형식지정 출력

 

일단 전 예시와는 다르게 전달되는 값의 순서가 뒤바뀌었다

원래대로라면 "제 이름은 27이며 나이는 이찬호세 입니다"가 출력되어야 하지만

일단 { } 안에 0, 1로 인덱스 번호를 지정해 주었다 여기서 인덱스 번호 라는걸 간단히 설명하자면

( 'K', 'O', 'R', 'E', 'A' )가 있다면 총 5개의 값이 있고 이 값은 인덱스 번호로 순서가 정해져 있다

K는 0번, O는 1번, R은 2번.... 이 처럼 0부터 시작하여 값에 대한 번호 지정이 되는 것이다

 

다시 본론으로 돌아와 처음 { } 안에는 { 1 }을 두 번째 { } 안에는 { 0 }으로 받을 값의

인덱스 번호를 지정해주고 첫 번째 { 1 } 안에는 형식 지정을 위한 추가 사항이 있다

일단 :<, :>, :^ 는 좌측 정렬, 우측 정렬, 가운데 정렬이다 결과에서처럼 값이

좌, 우, 가운데 정렬이 된 것을 확인할 수 있다 좌측 정렬이 기본이기에

두 번째의 <은 생략해도 결과는 같을 것이다.

 

그리고 정렬 부호 앞에 #을 입력해 보았는데 이는 정렬된 후 남는 공백에 대체 문자를 입력할 수 있다

 


 

 

4. f 접두어를 활용한 출력

 

f 접두어 사용 출력

 

name 이란 변수에 'Lee'를 대입했고

age라는 변수에 27을 대입했다

 

f접두어를 활용하여 { } 안에 변수명을 입력 출력하는 방법이다