Integer 정수 (7) 꼴
Float 소수 (2.3) 꼴
Complex Numbers (1+3j) 꼴
String
Boolean
C언어의 %d와 비슷합니다.
사용법은 다음과 같습니다.
>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
만약 변수를 2개 이상 사용하고 싶은 경우에는 튜플을 사용합니다.
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
%-formatting은 좋은 방법이 아닙니다. 변수가 많아지고 string이 길어진다면 읽기 매우 불편하기 때문입니다.
Python 2.6에서 도입된 방법입니다.
str.format()은 %-formatting과 비슷합니다. %s 대신에 replacement fields를 사용하고 replacement fields는 curly braces로 마크됩니다.
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
그리고 튜플의 index를 사용해 참조할 수 있습니다.
>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
딕셔너리도 사용할 수 있습니다.
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
딕셔너리를 사용할 때, 깔끔하게 **
을 사용하는 방법도 있습니다.
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'
하지만 str.format() 방법도 많은 인자와 긴 string을 다루는 경우 매우 복잡합니다.
Python 3.6에서 도입된 방법입니다.
formatting을 쉽게 만들어 줍니다.
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'
대문자 F도 사용할 수 있습니다.
>>> F"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'
f-strings에서는 모든 Python 표현을 사용할 수 있습니다.
>>> f"{2 * 37}"
'74'
함수도 호출할 수 있습니다.
>>> def to_lowercase(input):
... return input.lower()
>>> name = "Eric Idle"
>>> f"{to_lowercase(name)} is funny."
'eric idle is funny.'
method 호출도 가능합니다.
>>> f"{name.lower()} is funny."
'eric idle is funny.'
더 많은 내용이 있지만 다른 개념들을 더 공부한 뒤, 포스팅 하겠습니다.