- 문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미
"Hello World"
'Python is fun'
"""Life is too short, You need python"""
'''Life is too short, You need python'''
>>> food = "Python's favorite food is perl"
>>> say = '"Python is very easy." he says.'
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."
>>> multiline = 'Life is too short\nYou need python'
Life is too short
You need python
>>> multiline = '''
...Life is too short
...You need python
...'''
>>> multiline = """
...Life is too short
...You need python
..."""
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
>>> a = "python"
>>> a * 2
'pythonpython'
>>> a = "Life is too short"
>>> len(a)
17
- 인덱싱(indexing)이란 무엇인가를 '가리킨다'는 의미
- 슬라이싱(Slicing)은 무언인가를 '잘라낸다'는 의미
- 파이썬의 문자열 변수에는 각 문자마다 번호를 매길수 있는데, 0부터 숫자를 센다
>>> a = "Life is too short, You need Python"
>>> a[3]
'e'
>>> a[0]
'L'
>>> a[10]
'o'
- -기호를 붙이면 뒤에서부터 센다.
- a[-1]은 뒤에서부터 세어 첫 번째가 되는 문자. "n"
>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'
- a[0:4]를 수식으로 나타내면 '0<=a<4'
- a[시작번호:끝번호]
- 끝번호를 생략하면 시작번호부터 끝까지
- 시작번호를 생략하면 처음부터 끝번호까지
- 슬라이싱에서도 -기호를 사용할 수 있다. a[19:-7]이 의미하는 것은 a[19]부터 a[-8]까지를 말한다.
- 문자열안에 특정한 값을 바꿔야 할 경우가 있는 때 이것을 가능하게 해주는 것
>>> "I eat %d apples." % 3
'I eat 3 apples.'
>>> "I eat %s apples." % "five"
'I eat five apples.'
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
>>> number = 10
>>> day = "three"
>>> "I eat %d apples. so I was sick for %s days." % [number,day]
'I ate 10 apples. so I was sick for three days.'
- %d : 문자열(String)
- %c : 문자 1개(Character)
- %d : 정수(Integer)
- %f : 부동소수(Floating-point)
- %o : 8진수
- %x : 16진수
- %% : Literal % (문자 '%' 자체)
- 전체길이 10, 문자열 2자를 제외하고 8칸의 공백
>>> "%10s" % hi
' hi'
>>> "%-10sjane" % hi
'hi jane'
>>> "%0.4f" % 3.42134234
'3.4213'
- 전체 길이 10개인 문자열 공간에서 오른쪽 정렬 및 소수점 네번째 자리까지 표현
>>> "%10.4f" % 3.42134234
' 3.4213'
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
>>> "I eat {0} apples".format("five")
'I eat fivr apples'
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number,day)
'I eat 10 apples. so I was sick for three days.'
>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10,day=3)
'I eat 10 apples. so I was sick for 3 days.'
>>> "I ate {0} apples. so I was sick for {day} days.".format(10,day=3)
'I eat 10 apples. so I was sick for 3 days.'
>>> "{0:<10}".format("hi")
'hi '
>>> "{0:>10}".format("hi")
' hi'
>>> "{0:^10}".format("hi")
' hi '
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'
>>> "{{ and }}".format()
'{ and }'
- 3.6미만 버전에서 사용 불가
- 문자열 앞에 f를 붙이면 사용 가능
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
>>> age = 30
>>> f'나는 내년이면 {age+1}살이 된다.'
'나는 내년이면 31살이 된다.'
>>> d = {'name':'홍길동','age':30}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
>>> f'{"hi":<10}'
'hi '
>>> f'{"hi":>10}'
' hi'
>>> f'{"hi":^10}'
' hi '