Python 출력문 사용방법

이 포스트는 초심 개발자에게 적합합니다.

일러두기

줄바꿈 (Line terminator)

Python은 C 언어나 C#, Java 등과 같은 언어에서 사용하는 줄바꿈(Line-terminator) 문자인 세미콜론(;, semi-colon) 을 사용하지 않습니다. 그렇기 때문에 단순히 엔터(Enter)를 이용한 줄바꿈이 코드의 완성을 의미합니다.

pi = 3.14
print(pi)

들여쓰기 (tab)

Python은 C 언어나 C#, Java 등과 같은 언어에서 코드 실행 블럭을 표시하는 중괄호({}, Curly-bracket) 문자 집합을 사용하지 않습니다. Python은 단순히 탭(Tab)을 이용한 들여쓰기가 코드 실행 블럭을 의미합니다. 모든 들여쓰기 간격은 코드 실행 블럭을 의미하며, 만약 들여쓰기의 간격이 공백 한개의 차이로 다르다면 서로 다른 코드 실행 블럭으로 인식합니다. 따라서 Python 코드를 작성할 때에는 Tab 사용에 매우 주의해야 합니다.

pi = 3.14

if pi == 3.14 :
    print(pi)
else :
    print('not valid input')

변수 할당 (declare variable)

Python은 변수에 값을 할당하기 위해 특별한 자료형을 명시할 필요가 없습니다. 단순이 변수명 = 값 이라는 형태로 선언이 가능합니다. 변수명에 값을 할당하면 Python의 구문 해석기가 자동으로 자료형을 판단하여 연산에 활용합니다.

pi = 3.14
diameter = 4
greeting = "hello"

모듈 가져오기 (import module)

C의 include, C#의 using과 같이 외부 모듈을 가져와서 사용하기 위해 Python에서는 import 명령어를 지원합니다. import를 할 수 있는 경로는 Python의 라이브러리가 설치된 경로, Pip를 이용한 라이브러리가 설치되는 경로, 그리고 현재 코드를 작성중인 파일의 동일하거나 또는 하위에 위치한 경로입니다. Python은 다른 언어들처럼 자신보다 상위 경로에 있는 모듈의 참조는 허용하지 않습니다.

import sys
import math

주석 (Annotation, note)

Python에서도 코드나 코드 블럭, 또는 소스 코드 문서의 설명이 필요할 때 주석을 추가할 수 있습니다. Python에도 다른 언어와 마찬가지로 한줄 주석과 여러줄 주석을 지원합니다.

한 줄 주석

단순히 한 줄의 주석을 작성하거나, 코드의 뒤에 따라오는 주석을 작성할 수 있습니다. 한줄 주석을 작성할 때에는 # 을 이용합니다.

# 한 줄을 주석으로 작성할 수 있습니다.

pi = 3.14 # 또는 코드를 설명하는 주석을 코드 뒤에 작성할 수 있습니다.

여러 줄 주석

여러 줄의 주석이 필요한 경우에는 큰따옴표(“, Big-quotes) 또는 작은 따옴표(‘, single quotes) 3개를 사용하여 작성할 수 있습니다.

"""
여러줄의 주석이 필요할 때에는
이렇게 큰 따옴표를 사용하여 작성할 수 있습니다.
"""

'''
물론 이렇게
작은 따옴표도 사용할 수 있습니다.
'''

출력문

문자 출력 방법

Python은 여러 가지의 문자 출력 방법을 지원하고 있습니다.

기본 출력

Python의 출력문은 print 함수를 사용합니다. print 함수 내에 변수명이나 문자열을 입력합니다.

print('hello')
print(1)

형식 지정 출력 (Formatting)

Python은 다른 언어들 처럼 문자열을 출력할 때 형식을 지정할 수 있습니다. 출력 형식 지정은 % 를 사용하거나 format 함수를 사용할 수 있습니다.

import sys
print('hello %s, %s' % ('python', sys.version))
print('hello {0}, {1}'.format('python', sys.version))

형식 지정 코드

위의 예시 코드에서 % 를 사용하는 형식 지정의 경우, 표현하고자 하는 자료형을 명시해야 합니다. 이 때 사용하는 형식 지정 코드는 아래와 같습니다.

코드자료형
%s문자열 (String)
%c문자, 캐릭터 (Character)
%d정수 (Integer)
%f부동 소수점 (Floating point)
%o8진수 (Octal)
%x16진수 (Hexa)
형식 지정 코드

만약 형식 지정 코드가 올바르지 않다면 코드를 실행시에 오류를 발생합니다. 따라서 형식 지정 코드 작성시에는 정확한 형식 지정 코드를 입력해줄 필요가 있습니다. 또한 출력해야하는 내용이 많아지거나 매개 변수의 이름이 길면 형식 지정 출력 코드의 길이가 의도치 않게 매우 길어진다는 단점이 있습니다.

f 문자열 (f-string)

f 문자열은 Python 버전 3 이상에서 지원하는 기능으로, 형식 지정 출력보다 쉽고 간편하게 문자열을 구성할 수 있도록 고안된 기능입니다. f 문자열은 문자열 출력 형식을 구성할 때에 간편하게 f 문자열 지정자인 f 를 붙여서 사용이 가능합니다.

import sys
print(f'hello, {"python"}, {sys.version}')

pi = 3.14
diameter = 2
print(f'pi * diameter = {pi * diameter}')

공백과 정렬

문자열을 출력 시 가시성을 높이기 위해서는 정렬이 필요합니다. Python에서는 숫자를 이용하여 공백의 크기를 지정하고, 방향 코드를 사용하여 정렬 방식을 선택할 수 있습니다. 기본적으로 방향 코드가 없는 경우에는 좌측 정렬로 출력합니다.

# 기본 출력
print('[%10s]' %('python')) # 우측 정렬
print('[%-10s]' %('python')) # 좌측 정렬

# 형식 지정 출력
print('[{0:>10s}]'.format('python')) # 우측 정렬
print('[{0:10}]'.format('python')) # 좌측 정렬

# f 문자열 출력
print(f'[{"python":>10}]') # 우측 정렬
print(f'[{"python":10}]') # 좌측 정렬

소수점 자리수 표기

소수점 이하의 숫자들은 보통 지나치게 길거나 또는 필요 이하로 짧은 경우가 있습니다. 이러한 불규칙한 나열의 숫자는 가시성이 매우 떨어지며, 정확한 수치의 비교가 필요하지 않은 경우에는 잘라내어야할 필요가 대두됩니다. Python 에서도 다른 언어와 마찬가지로 소수점 자리수를 제한하기 위해 소수점 자리수를 제한하는 코드를 제공합니다.

pi = 3.14159265359

# 기본 출력
print('[%10.2f]' % pi)

# 형식 지정 출력
print('[{0:10.2f}]'.format(pi))

# f 문자열 출력
print(f'[{pi:10.2f}]')

0 채우기

특별하게 숫자의 빈 자리에 0을 채워야 하는 경우가 발생할 경우 아래의 코드를 사용하여 빈 공간을 0으로 채울 수 있습니다. 자주 사용하지는 않는 기능입니다.

pi = 3.14

# 기본 출력
print('[%010.4f]' % pi)

# 형식 지정 출력
print('[{0:010.4f}]'.format(pi))

# f 문자열 출력
print(f'[{pi:010.4f}]')