๋ฌธ์์ด(String)
๋ฌธ์์ด(string)์ด๋ ์ฐ์๋ ๋ฌธ์๋ค์ ๋์ด.
๋ชจ๋ ์๋ฌธ์ด ํฐ๋ฐ์ดํ(")๋ก ๋๋ฌ์ธ์ฌ ์๋ค.
๋ฐ์ดํ๋ก ๋๋ฌ์ธ์ฌ ์์ผ๋ฉด ๋ชจ๋ ๋ฌธ์์ด์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋ฌธ์์ด์ ์ด๋ป๊ฒ ๋ง๋ค๊ณ ์ฌ์ฉํ ๊น?
01. ํฐ๋ฐ์ดํ๋ก ์์ชฝ ๋๋ฌ์ธ๊ธฐ
"Hello World"
02. ์์๋ฐ์ดํ๋ก ์์ชฝ ๋๋ฌ์ธ๊ธฐ
'Python is fun'
03. ํฐ๋ฐ์ดํ 3๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์จ์ ์์ชฝ ๋๋ฌ์ธ๊ธฐ
"""Life is too short, You need python"""
04. ์์๋ฐ์ดํ 3๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์จ์ ์์ชฝ ๋๋ฌ์ธ๊ธฐ
'''Life is too short, You need python'''
๋ฌธ์์ด ์์ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ฅผ ํฌํจ์ํค๊ณ ์ถ์ ๋
01. ๋ฌธ์์ด์ ์์๋ฐ์ดํ ํฌํจํ๊ธฐ
Python's favorite food is perl
>>> food = "Python's favorite food is perl"
>>> food
"Python's favorite food is perl"
๋ฌธ์์ด ์ค์ ์์๋ฐ์ดํ ' ๊ฐ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ๋ก ๋๋ฌ์ธ์ผํ๋ค.
๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ๋ณด๋ฉด ๋ณ์์ ์ ์ฅ๋ ๋ฌธ์์ด์ด ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ฌธ์์ด์ ํฐ๋ฐ์ดํ๊ฐ ์๋ ์์๋ฐ์ดํ๋ก ๋๋ฌ์ผ ํ ์คํํ๋ฉด ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
02. ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ ํฌํจํ๊ธฐ
>>> say = '"Python is very easy." he says.'
๋ฌธ์์ด์ ํฐ๋ฐ์ดํ๊ฐ ํฌํจ๋์ด ์๋ค๋ฉด ๋ฌธ์์ด์ ์์๋ฐ์ดํ๋ก ๋๋ฌ์ธ๋ฉด ๋๋ค.
03. ์ญ์ฌ๋์๋ฅผ ์ฌ์ฉํด์ ์์๋ฐ์ดํ์ ํฐ๋ฐ์ดํ๋ฅผ ๋ฌธ์์ด์ ํฌํจํ๊ธฐ
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."
๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ญ์ฌ๋์ \ ๋ฅผ ์ฌ์ฉ ํ๋ฉด ๋๋ค.
์ญ์ฌ๋์๋ฅผ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ ์์ ์ฝ์
ํ๋ฉด ์ญ์ฌ๋์ ๋ค์ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ ๋ฌธ์์ด์ ๋๋ฌ์ธ๋ ๊ธฐํธ์ ์๋ฏธ๊ฐ ์๋ ' ๋ "์์ฒด๋ฅผ ์๋ฏธ
์ฌ๋ฌ ์ค์ธ ๋ฌธ์์ด์ ๋ณ์์ ๋์
ํ๊ณ ์ถ์ ๋
01. ์ค์ ๋ฐ๊พธ๊ธฐ ์ํ ์ด์ค์ผ์ดํ ์ฝ๋ \n ์ฝ์
ํ๊ธฐ
>>> multiline = "Life is too short\nYou need python"
์์ฒ๋ผ ์ค ๋ฐ๊ฟ ๋ฌธ์์ธ \n์ ์ฝ์
ํ๋ ๋ฐฉ๋ฒ์ด ์์ง๋ง, ์ฝ๊ธฐ๊ฐ ๋ถํธํ๊ณ ์ค์ด ๊ธธ์ด์ง๋ ๋จ์ ์ด ์๋ค.
02. ์ฐ์๋ ์์๋ฐ์ดํ 3๊ฐ ๋๋ ํฐ๋ฐ์ดํ 3๊ฐ ์ฌ์ฉํ๊ธฐ
>>> multiline='''
... Life is too short
... You need python
... '''
>>> multiline="""
... Life is too short
... You need python
... """
>>> print(multiline)
Life is too short
You need python
\n์ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์์๋ฐ์ดํ 3๊ฐ ''' ๋๋ ํฐ ๋ฐ์ดํ 3๊ฐ """ ๋ฅผ ์ฌ์ฉํ๋ค.
์ฌ๋ฌ ์ค์ธ ๊ฒฝ์ฐ, ์ด์ค์ผ์ดํ ์ฝ๋๋ฅผ ์ฐ๋ ๊ฒ๋ณด๋ค ๋ฐ์ดํ 3๊ฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊น๋ํ๋ค.
์ด์ค์ผ์ดํ ์ฝ๋๋?
์ด์ค์ผ์ดํ(escape) ์ฝ๋: ํ๋ก๊ทธ๋๋ฐํ ๋ ์ฌ์ฉํ ์ ์๋๋ก ๋ฏธ๋ฆฌ ์ ์ํด ๋ '๋ฌธ์ ์กฐํฉ'
์ฝ๋
์ค๋ช
\n
๋ฌธ์์ด ์์์ ์ค์ ๋ฐ๊ฟ ๋ ์ฌ์ฉ
\t
๋ฌธ์์ด ์ฌ์ด์ ํญ ๊ฐ๊ฒฉ์ ์ค ๋ ์ฌ์ฉ
\\
\๋ฅผ ๊ทธ๋๋ก ํํํ ๋ ์ฌ์ฉ
\'
์์๋ฐ์ดํ๋ฅผ ๊ทธ๋๋ก ํํํ ๋ ์ฌ์ฉ
\"
ํฐ๋ฐ์ดํ๋ฅผ ๊ทธ๋๋ก ํํํ ๋ ์ฌ์ฉ
\r
์บ๋ฆฌ์ง ๋ฆฌํด(์ค ๋ฐ๊ฟ ๋ฌธ์, ์ปค์๋ฅผ ํ์ฌ ์ค์ ๊ฐ์ฅ ์์ผ๋ก ์ด๋)
\f
ํผ ํผ๋(์ค ๋ฐ๊ฟ ๋ฌธ์, ์ปค์๋ฅผ ํ์ฌ ์ค์ ๋ค์ ์ค๋ก ์ด๋)
\a
๋ฒจ ์๋ฆฌ(์ถ๋ ฅํ ๋ PC ์คํผ์ปค์์ '์' ์๋ฆฌ๊ฐ ๋๋ค
\b
๋ฐฑ ์คํ์ด์ค
\000
๋ ๋ฌธ์
→ ์ด ์ค์์ ํ์ฉ ๋น๋๊ฐ ๋์ ๊ฒ์ \n, \t, \\, \', \"
๋ฌธ์์ด ์ฐ์ฐํ๊ธฐ
01. ๋ฌธ์์ด ๋ํด์ ์ฐ๊ฒฐํ๊ธฐ
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
02. ๋ฌธ์์ด ๊ณฑํ๊ธฐ
>>> a = "python"
>>> a * 2
'pythonpython'
์ ์์ค ์ฝ๋์์ a * 2๋ผ๋ ๋ฌธ์ฅ์ a๋ฅผ 2๋ฒ ๋ฐ๋ณตํ๋ผ๋ ๋ป์ด๋ค.
์ฆ, *๋ ๋ฌธ์์ด์ ๋ฐ๋ณต์ ๋ปํ๋ ์๋ฏธ๋ก ์ฌ์ฉ๋์๋ค.
03. ๋ฌธ์์ด ๊ณฑํ๊ธฐ๋ฅผ ์์ฉํ๊ธฐ
# multistring.py
print("=" * 50)
print("My Program")
print("=" * 50)
IDLE ์๋ํฐ๋ฅผ ์ด์ด ์์ค ์
๋ ฅํ๊ณ C:\doit ๋๋ ํฐ๋ฆฌ์ multistring.py๋ผ๋ ํ์ผ ์ด๋ฆ์ผ๋ก ์ ์ฅํ๊ณ
์คํ ์ฐฝ ์ด๊ธฐ(์๋+R) → cmd ์
๋ ฅ
C:\Users>cd C:\doit
C:\doit>python multistring.py
==================================================
My Program
==================================================
๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ
๋ฌธ์์ด ๊ธธ์ด๋ len ํจ์ ๋ฅผ ์ฌ์ฉํ๋ค.
>>> a = "Life is too short"
>>> len(a)
17
๋ฌธ์์ด ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ
indexing = ๊ฐ๋ฆฌํจ๋ค
slicing = ์๋ผ ๋ธ๋ค
01. ๋ฌธ์์ด ์ธ๋ฑ์ฑ
>>> a = "Life is too short, You need Python"
"Life is too short, You need Python" ๋ฌธ์์ด์์ L์ ์ฒซ ๋ฒ์งธ ์๋ฆฌ๋ฅผ ๋ปํ๋ ์ซ์ 0, i๋ 1 ์ด๋ฐ ์์ผ๋ก ๊ณ์ ๋ฒํธ๋ฅผ ๋ถ์ธ ๊ฒ์ด๋ค. ์ฆ, ์ค๊ฐ์ ์๋ short์ s๋ 12๊ฐ ๋๋ค.
>>> a = "Life is too short, You need Python"
>>> a[3]
'e'
a[3]์ด ๋ปํ๋ ๊ฒ์ a๋ผ๋ ๋ฌธ์์ด์ ๋ค ๋ฒ์งธ ๋ฌธ์ e๋ฅผ ๋งํ๋ค.
"ํ์ด์ฌ์ 0๋ถํฐ ์ซ์๋ฅผ ์ผ๋ค."
a[0]:'L', a[1]:'i', a[2]:'f', a[3]:'e', a[4]:' ', ...
a[๋ฒํธ]๋ ๋ฌธ์์ด ์์ ํน์ ํ ๊ฐ์ ๋ฝ์๋ด๋ ์ญํ ์ ํ๋ค. ์ด๋ฌํ ์์
์ ‘์ธ๋ฑ์ฑ’
02. ๋ฌธ์์ด ์ธ๋ฑ์ฑ ํ์ฉํ๊ธฐ
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'
๋ฌธ์์ด์ ๋ค์์๋ถํฐ ์ฝ๊ธฐ ์ํด -(๋นผ๊ธฐ) ๊ธฐํธ๋ฅผ ๋ถ์ธ ๊ฒ์ด๋ค.
์ฆ, a[-1]์ ๋ค์์๋ถํฐ ์ธ์ด ์ฒซ ๋ฒ์งธ๊ฐ ๋๋ ๋ฌธ์ ๋ฅผ ๋งํ๋ค.
a์ ๊ฐ์ "Life is too short, You need Python" ๋ฌธ์์ด์ด๋ฏ๋ก ๋ค์์๋ถํฐ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ ๊ฐ์ฅ ๋ง์ง๋ง ๋ฌธ์ 'n'์ด๋ค.
>>> a[-0]
'L'
>>> a[-2]
'o'
>>> a[-5]
'y'
0๊ณผ -0์ ๋๊ฐ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ a[-0]์ a[0]๊ณผ ๋๊ฐ์ ๊ฐ์ ๋ณด์ฌ ์ค๋ค.
03. ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ
>>> a = "Life is too short, You need Python"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> b
'Life'
>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'
์ ์ฝ๋์ ๊ฐ์ด ๋จ์ํ๊ฒ ์ ๊ทผํ ์๋ ์์ง๋ง ํ์ด์ฌ์์๋ ์ฌ๋ผ์ด์ฑ(slicing) ๊ธฐ๋ฒ์ ์ ๊ณตํ๋ค.
a[0:4]๋ a ๋ฌธ์์ด, ์ฆ "Life is too short, You need Python" ๋ฌธ์์ด์์ ์๋ฆฌ ๋ฒํธ 0๋ถํฐ 4๊น์ง์ ๋ฌธ์๋ฅผ ๋ฝ์๋ธ๋ค๋ ๋ป์ด๋ค.
>>> a[0:3]
'Lif'
์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ผ๋ก a[์์_๋ฒํธ:๋_๋ฒํธ]๋ฅผ ์ง์ ํ ๋ ๋ ๋ฒํธ์ ํด๋นํ๋ ๋ฌธ์๋ ํฌํจํ์ง ์๊ธฐ ๋๋ฌธ ์ด๋ค.
์ฆ, a[0:3]์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 0<= a < 3
04. ๋ฌธ์์ด์ ์ฌ๋ผ์ด์ฑํ๋ ๋ฐฉ๋ฒ
>>> a[0:5]
'Life '
์ ์๋ a[0] + a[1] + a[2] + a[3] + a[4]์ ๋์ผํ๋ค.
a[4]๋ ๊ณต๋ฐฑ ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ 'Life'๊ฐ ์๋ 'Life '๊ฐ ์ถ๋ ฅ๋๋ค.
๊ณต๋ฐฑ ๋ฌธ์ ์ญ์ L, i, f, e ์ ๊ฐ์ ๋ฌธ์์ ๋์ผํ๊ฒ ์ทจ๊ธ๋๋ ๊ฒ์ ์์ง ๋ง์.
>>> a[0:2]
'Li'
>>> a[5:7]
'is'
>>> a[12:17]
'short'
์ฌ๋ผ์ด์ฑํ ๋ ํญ์ ์์ ๋ฒํธ๊ฐ 0์ผ ํ์๋ ์๋ค.
>>> a[19:]
'You need Python'
a[์์_๋ฒํธ:๋_๋ฒํธ]์์ ๋ ๋ฒํธ ๋ถ๋ถ์ ์๋ตํ๋ฉด ์์ ๋ฒํธ๋ถํฐ ๊ทธ ๋ฌธ์์ด์ ๋๊น์ง ๋ฝ์๋ธ๋ค.
>>> a[:17]
'Life is too short'
a[์์_๋ฒํธ:๋_๋ฒํธ]์์ ์์ ๋ฒํธ๋ฅผ ์๋ตํ๋ฉด ๋ฌธ์์ด์ ์ฒ์๋ถํฐ ๋ ๋ฒํธ๊น์ง ๋ฝ์๋ธ๋ค.
>>> a[:]
'Life is too short, You need Python'
a[์์_๋ฒํธ:๋_๋ฒํธ]์์ ์์ ๋ฒํธ์ ๋ ๋ฒํธ๋ฅผ ์๋ตํ๋ฉด ๋ฌธ์์ด์ ์ฒ์๋ถํฐ ๋๊น์ง ๋ฝ์๋ธ๋ค.
>>> a[19:-7]
'You need'
์ฌ๋ผ์ด์ฑ์์๋ ์ธ๋ฑ์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก -(๋นผ๊ธฐ) ๊ธฐํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
a[19:-7]์ a[19]์์ a[-8]๊น์ง๋ฅผ ์๋ฏธํ๋ค. ์ด๋์๋ a[-7]์ ํฌํจํ์ง ์๋๋ค.
05. ์ฌ๋ผ์ด์ฑ์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
>>> a = "20230331Rainy"
>>> year = a[:4]
>>> day = a[4:8]
>>> weather = a[8:]
>>> year
'2023'
>>> day
'0331'
>>> weather
'Rainy'
a[:8]์ a[8]์ ํฌํจํ์ง ์๊ณ a[8:]์ a[8]์ ํฌํจํ๊ธฐ ๋๋ฌธ์ 8์ ๊ธฐ์ค์ผ๋ก ํด์ ๋๋ ์ ์๋ค.
Pithon ๋ฌธ์์ด์ Python์ผ๋ก ๋ฐ๊พธ๋ ค๋ฉด?
>>> a = "Pithon"
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:]
'Python'
๋ฌธ์์ด ํฌ๋งคํ
์ด๋?
๋ฌธ์์ด ํฌ๋งคํ
๋ฐ๋ผ ํ๊ธฐ
01. ์ซ์ ๋ฐ๋ก ๋์
>>> "I eat %d apples." % 3
'I eat 3 apples.'
๋ฌธ์์ด ์์ ์ซ์๋ฅผ ๋ฃ๊ณ ์ถ์ ์๋ฆฌ์ %d ๋ฌธ์๋ฅผ ๋ฃ์ด ์ฃผ๊ณ ์ฝ์
ํ ์ซ์๋ ๊ฐ์ฅ ๋ค์ ์๋ % ๋ฌธ์ ๋ค์์ ์ด๋ค.
%d = ๋ฌธ์์ด ํฌ๋งท ์ฝ๋
02. ๋ฌธ์์ด ๋ฐ๋ก ๋์
>>> "I eat %s apples." % "five"
'I eat five apples.'
๋ฌธ์์ด ์์ ๋ ๋ค๋ฅธ ๋ฌธ์์ด์ ์ฝ์
ํ๊ธฐ ์ํด์๋ ํฌ๋งท ์ฝ๋๋ฅผ %s ๋ฅผ ์ด๋ค.
03. ์ซ์ ๊ฐ์ ๋ํ๋ด๋ ๋ณ์๋ก ๋์
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
04. 2๊ฐ ์ด์์ ๊ฐ ๋ฃ๊ธฐ
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'
2๊ฐ ์ด์์ ๊ฐ์ ๋ฃ์ผ๋ ค๋ฉด ๋ง์ง๋ง % ๋ค์ ๊ดํธ ์์ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ๊ฐ์ ๊ฐ์ ๋ฃ์ด ์ฃผ๋ฉด ๋๋ค.
๋ฌธ์์ด ํฌ๋งท ์ฝ๋
์ฝ๋
์ค๋ช
%s
๋ฌธ์์ด(string)
%c
๋ฌธ์ 1๊ฐ(character)
%d
์ ์(integer)
%f
๋ถ๋์์ (floating-point)
%o
8์ง์
%x
16์ง์
%%
Literal % (๋ฌธ์ % ์์ฒด)
๋ฌธ์์ด ํฌ๋งท ์ฝ๋์ธ %d์ %๊ฐ ๊ฐ์ ๋ฌธ์์ด ์์ ์กด์ฌํ๋ ๊ฒฝ์ฐ, %๋ฅผ ๋ํ๋ด๋ ค๋ฉด ๋ฐ๋์ %%๋ฅผ ์จ์ผ ํ๋ค
>>> "Error is %d%%." % 98
'Error is 98%.'
ํฌ๋งท ์ฝ๋์ ์ซ์ ํจ๊ป ์ฌ์ฉํ๊ธฐ
01. ์ ๋ ฌ๊ณผ ๊ณต๋ฐฑ
>>> "%10s" % "hi"
' hi'
%10s ๋ ์ ์ฒด ๊ธธ์ด๊ฐ 10๊ฐ์ธ ๋ฌธ์์ด ๊ณต๊ฐ์์ ๋์
๋๋ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌํ๊ณ ๊ทธ ์์ ๋๋จธ์ง๋ ๊ณต๋ฐฑ
>>> "%-10sjane." % 'hi'
'hi jane.'
์ผ์ชฝ ์ ๋ ฌ์ %-10s ์ด๋ค.
02. ์์์ ํํํ๊ธฐ
%0.4f์์ ‘.’๋ ์์์ ํฌ์ธํธ, ๊ทธ ๋ค์ ์ซ์ 4๋ ์์์ ๋ค์ ๋์ฌ ์ซ์์ ๊ฐ์๋ฅผ ๋งํ๋ค.
์์์ ํฌ์ธํธ ์์ ์ซ์๋ ๋ฌธ์์ด์ ์ ์ฒด ๊ธธ์ด๋ฅผ ์๋ฏธ ํ๋๋ฐ, %0.4f์์ ์ฌ์ฉํ ์ซ์ 0์ ๊ธธ์ด์ ์๊ดํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ
%0.4f๋ 0์ ์๋ตํ์ฌ %.4f์ฒ๋ผ ์ฌ์ฉ
format ํจ์๋ฅผ ์ฌ์ฉํ ํฌ๋งคํ
01. ์ซ์ ๋ฐ๋ก ๋์
ํ๊ธฐ
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
02. ๋ฌธ์์ด ๋ฐ๋ก ๋์
ํ๊ธฐ
>>> "I eat {0} apples".format("five")
'I eat five apples'
03. ์ซ์ ๊ฐ์ ๊ฐ์ง ๋ณ์๋ก ๋์
ํ๊ธฐ
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
04. 2๊ฐ ์ด์์ ๊ฐ ๋ฃ๊ธฐ
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
2๊ฐ ์ด์์ ๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ, ๋ฌธ์์ด์ {0}, {1}๊ณผ ๊ฐ์ ์ธ๋ฑ์ค ํญ๋ชฉ์ด formatํจ์์ ์
๋ ฅ๊ฐ์ผ๋ก ์์์ ๋ง๊ฒ ๋ฐ๋๋ค.
05. ์ด๋ฆ์ผ๋ก ๋ฃ๊ธฐ
>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
{name} ํํ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, format ํจ์์๋ ๋ฐ๋์ name=value์ ๊ฐ์ ํํ์ ์
๋ ฅ๊ฐ์ด ์์ด์ผ ํ๋ค.
06. ์ธ๋ฑ์ค์ ์ด๋ฆ์ ํผ์ฉํด์ ๋ฃ๊ธฐ
>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
07. ์ผ์ชฝ ์ ๋ ฌ
>>> "{0:<10}".format("hi")
'hi '
:<10 ์ฌ์ฉํ๋ฉด ์นํ๋๋ ๋ฌธ์์ด์ ์ผ์ชฝ์ผ๋ก ์ ๋ ฌํ๊ณ ๋ฌธ์์ด์ ์ด์๋ฆฟ์๋ฅผ 10์ผ๋ก ๋ง์ถ๋ค.
08. ์ค๋ฅธ์ชฝ ์ ๋ ฌ
>>> "{0:>10}".format("hi")
' hi'
09. ๊ฐ์ด๋ฐ ์ ๋ ฌ
>>> "{0:^10}".format("hi")
' hi '
10. ๊ณต๋ฐฑ ์ฑ์ฐ๊ธฐ
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
์ ๋ ฌํ ๋ ๊ณต๋ฐฑ ๋ฌธ์ ๋์ ์ง์ ํ ๋ฌธ์ ๊ฐ์ผ๋ก ์ฑ์ ๋ฃ์ ์ ์๋ค.
์ฑ์ ๋ฃ์ ๋ฌธ์ ๊ฐ์ ์ ๋ ฌ ๋ฌธ์ < , > , ^ ๋ฐ๋ก ์ ์ ๋ฃ์ด์ผ ํ๋ค.
11. ์์์ ํํํ๊ธฐ
>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'
format ํจ์๋ฅผ ์ฌ์ฉํด ์์์ ์ 4์๋ฆฌ๊น์ง๋ง ํํ
12. { ๋๋ } ๋ฌธ์ ํํํ๊ธฐ
>>> "{{ and }}".format()
'{ and }'
๋ฌธ์์ด์ ํฌ๋งคํ
ํ ๊ฒฝ์ฐ, {}์ ๊ฐ์ ์ค๊ดํธ ๋ฌธ์๋ฅผ ํฌ๋งคํ
๋ฌธ์๊ฐ ์๋ ๋ฌธ์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ {{}}์ฒ๋ผ 2๊ฐ๋ฅผ ์ฐ์ํด์ ์ฌ์ฉํด์ผ ํ๋ค.
f ๋ฌธ์์ด ํฌ๋งคํ
>>> name = 'ํ๊ธธ๋'
>>> age = 30
>>> f'๋์ ์ด๋ฆ์ {name}์
๋๋ค. ๋์ด๋ {age}์
๋๋ค.'
'๋์ ์ด๋ฆ์ ํ๊ธธ๋์
๋๋ค. ๋์ด๋ 30์
๋๋ค.'
๋ฌธ์์ด ์์ f ์ ๋์ฌ๋ฅผ ๋ถ์ด๋ฉด f ๋ฌธ์์ด ํฌ๋งคํ
๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
>>> 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 '
>>> f'{"hi":=^10}' # ๊ฐ์ด๋ฐ ์ ๋ ฌํ๊ณ '=' ๋ฌธ์๋ก ๊ณต๋ฐฑ ์ฑ์ฐ๊ธฐ
'====hi===='
>>> f'{"hi":!<10}' # ์ผ์ชฝ ์ ๋ ฌํ๊ณ '!' ๋ฌธ์๋ก ๊ณต๋ฐฑ ์ฑ์ฐ๊ธฐ
'hi!!!!!!!!'
>>> y = 3.42134234
>>> f'{y:0.4f}' # ์์์ 4์๋ฆฌ๊น์ง๋ง ํํ
'3.4213'
>>> f'{y:10.4f}' # ์์์ 4์๋ฆฌ๊น์ง ํํํ๊ณ ์ด ์๋ฆฌ์๋ฅผ 10์ผ๋ก ๋ง์ถค
' 3.4213'
>>> f'{{ and }}'
'{ and }'
๋ฌธ์์ด ๊ด๋ จ ํจ์๋ค
‘๋ฌธ์์ด ๋ด์ฅ ํจ์’๋ผ๊ณ ํ๋ค. ์ด ๋ด์ฅ ํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ฌธ์์ด ๋ณ์ ์ด๋ฆ ๋ค์ ‘.’๋ฅผ ๋ถ์ธ ํ ํจ์ ์ด๋ฆ ์ ์จ ์ฃผ๋ฉด ๋๋ค.
01. ๋ฌธ์ ๊ฐ์ ์ธ๊ธฐ - count
>>> a = "hobby"
>>> a.count('b')
2
02. ์์น ์๋ ค ์ฃผ๊ธฐ 1 - find
>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1
๋ฌธ์์ด ์ค ๋ฌธ์ b๊ฐ ์ฒ์์ผ๋ก ๋์จ ์์น๋ฅผ ๋ฐํ
๋ง์ฝ ์ฐพ๋ ๋ฌธ์๋ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด -1์ ๋ฐํ
03. ์์น ์๋ ค ์ฃผ๊ธฐ 2 - index
>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
๋ฌธ์์ด ์ค ๋ฌธ์ t๊ฐ ๋งจ ์ฒ์์ผ๋ก ๋์จ ์์น๋ฅผ ๋ฐํ
๋ง์ฝ ์ฐพ๋ ๋ฌธ์๋ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์
04. ๋ฌธ์์ด ์ฝ์
- join
>>> ",".join('abcd')
'a,b,c,d'
>>> ",".join(['a', 'b', 'c', 'd'])
'a,b,c,d'
join ํจ์๋ก abcd ๋ฌธ์์ด์ ๊ฐ๊ฐ์ ๋ฌธ์์ด ์ฌ์ด์ ','๋ฅผ ์ฝ์
05. ์๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ - upper
>>> a = "hi"
>>> a.upper()
'HI'
06. ๋๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ - lower
>>> a = "HI"
>>> a.lower()
'hi'
07. ์ผ์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - lstrip
>>> a = " hi "
>>> a.lstrip()
'hi '
๋ฌธ์์ด ์ค ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ํ ์นธ ์ด์์ ์ฐ์๋ ๊ณต๋ฐฑ๋ค์ ๋ชจ๋ ์ ๊ฑฐ
08. ์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - rstrip
>>> a= " hi "
>>> a.rstrip()
' hi'
๋ฌธ์์ด ์ค ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์๋ ํ ์นธ ์ด์์ ์ฐ์๋ ๊ณต๋ฐฑ๋ค์ ์ ๊ฑฐ
09. ์์ชฝ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ - strip
>>> a = " hi "
>>> a.strip()
'hi'
๋ฌธ์์ด ์์ชฝ์ ์๋ ํ ์นธ ์ด์์ ์ฐ์๋ ๊ณต๋ฐฑ์ ๋ชจ๋ ์
10. ๋ฌธ์์ด ๋ฐ๊พธ๊ธฐ - replace
>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'
replace ํจ์๋ replace(๋ฐ๋ ๋ฌธ์์ด, ๋ฐ๊ฟ ๋ฌธ์์ด) ์ฒ๋ผ ์ฌ์ฉํด์ ๋ฌธ์์ด ์์ ํน์ ํ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์นํ
11. ๋ฌธ์์ด ๋๋๊ธฐ - split
>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']
๊ดํธ ์์ ์๋ฌด ๊ฐ๋ ๋ฃ์ด ์ฃผ์ง ์์ผ๋ฉด ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋์ด ์ค๋ค.
๋ง์ฝ ๊ดํธ ์์ ํน์ ๊ฐ์ด ์์ ๊ฒฝ์ฐ์๋ ๊ดํธ ์์ ๊ตฌ๋ถ์๋ก ํด์ ๋ฌธ์์ด์ ๋๋์ด ์ค๋ค.
! ๋ฌธ์์ด ํจ์๋ ๋ฌธ์์ด ์์ฒด์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๊ฒ์ด ์๋๋ผ ๋ณ๊ฒฝ๋ ๊ฐ์ ๋ฆฌํดํ๋ค !