๐Ÿน ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ

๋ฏผ๋‹ฌํŒฝ์ด์šฐ์œ ยท2024๋…„ 4์›” 18์ผ

๐Ÿน ํŒŒ์ด์ฌ ๊ธฐ์ดˆ

๋ชฉ๋ก ๋ณด๊ธฐ
4/19

๐Ÿ’ก 1. ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ

์•ž์˜ ํฌ์ŠคํŠธ์—์„œ๋„ ์–ธ๊ธ‰์„ ํ–ˆ์ง€๋งŒ, ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ ํŒŒ์ด์ฌ์€ ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด์„ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํŒŒ์ด์ฌ์˜ ๋ฌธ์ž์—ด์€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค. ๋ฌธ์ž์—ด์€ ์ž‘์€ ๋”ฐ์˜ดํ‘œ(')๋‚˜ ํฐ ๋”ฐ์˜ดํ‘œ("), ์„ธ ๊ฐœ์˜ ๋”ฐ์˜ดํ‘œ(''')๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ํ…์ŠคํŠธ๋กœ ํ‘œํ˜„๋œ๋‹ค

str1 = '์˜ค๋Š˜๋„ ์ฆ๊ฑฐ์šด ํŒŒ์ด์ฌ ์ˆ˜์—…'
print(str1)

str2 = "์˜ค๋Š˜๋„ ์ฆ๊ฑฐ์šด ํŒŒ์ด์ฌ ์ˆ˜์—…"
print(str2)

str3 = '''์œ ๋ฏผ์ฝฉ:
์˜ค๋Š˜ ์ˆ˜์—… ์ •๋ง ์žฌ๋ฐŒ๋„ค์š”
๊ทธ๋ ‡์ฃ ?''' # '''๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด '''์•ˆ์˜ ๊ธ€์ž ๋ชจ์Šต ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋œ๋‹ค.
print(str3)

ํŒŒ์ด์ฌ์˜ ๋ฌธ์ž์—ด์€ ์œ ๋‹ˆ์ฝ”๋“œ(Unicode) ๋ฌธ์ž์˜ ์‹œํ€€์Šค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋ฌธ์ž์—ด ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ณ  ํ•ด๋‹น ๊ฐ’์€ ๋ถˆ๋ณ€(immutable)ํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. ํŒŒ์ด์ฌ์€ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์˜ ๊ณต์œ  ๋ฌธ์ž์—ด ์ตœ์ ํ™”์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค.

str1 = 'Hello'
str2 = 'Hello'
# 'Hello'์˜ ์ฃผ์†Œ๊ฐ€ ์žฌ์‚ฌ์šฉ๋˜์–ด str2๊ฐ€ str1์— ์ €์žฅ๋œ ์ฃผ์†Œ์™€ ๊ณต์œ ๋จ
print(str1 is str2) # ์ถœ๋ ฅ: True

is ์—ฐ์‚ฐ์ž๋Š” ํŒŒ์ด์ฌ์—์„œ ๋‘ ๊ฐ์ฒด์˜ ์‹๋ณ„(identity)์„ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ๊ฐ์ฒด์˜ ์‹๋ณ„์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜ ์ฆ‰ ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. is ์—ฐ์‚ฐ์ž๋Š” ๋‘ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์— ์ €์žฅ๋ผ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.

str1 = 'Hello'
str2 = 'Hi'
print(str1 is str2)

๐Ÿ’ก 2. ๋ฌธ์ž์—ด ์žฌํ• ๋‹น

ํŒŒ์ด์ฌ์—์„œ ๋ฌธ์ž์—ด์€ ๋ถˆ๋ณ€ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฏ€๋กœ, ๊ฐ™์€ ๋ณ€์ˆ˜์— ๋ฌธ์ž์—ด์„ ์žฌํ• ๋‹คํ•˜๋Š” ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๋ณ€์ˆ˜๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ์ด์ „์˜ ๋ฌธ์ž์—ด ๊ฐ์ฒด๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค

a = 'Hello'
b = 'Python'
c = a + ', Python'
d = 'Hello'
print(id(a)) # ์ถœ๋ ฅ: 140106299787056
print(id(b)) # ์ถœ๋ ฅ: 140107349243376
print(id(c)) # ์ถœ๋ ฅ: 140106299790896
print(id(d)) # ์ถœ๋ ฅ: 140106299787056
# ํŒŒ์ด์ฌ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ (์‹ค์ œ ์ฃผ์†Œ๋Š” X)
# a์™€ d์˜ ์ฃผ์†Œ๋Š” ๊ฐ™์ง€๋งŒ a์™€ c์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋Š” ๋‹ค๋ฅด๋‹ค.

๐Ÿ’ก 3. ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

ํŒŒ์ด์ฌ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ฐธ์กฐ ์นด์šดํŒ…(reference counting) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ฐ์ฒด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ณ€์ˆ˜์— ์˜ํ•ด ์ฐธ์กฐ๋˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ถ”์ ํ•œ๋‹ค. ๊ฐ์ฒด์˜ ์ฐธ์กฐ ์นด์šดํŠธ๊ฐ€ 0์ด ๋˜๋ฉด ํ•ด๋‹น ๊ฐ์ฒด๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(garbage collection)์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œ๋œ๋‹ค.
๋”ฐ๋ผ์„œ ์ด์ „ ๋ฌธ์ž์—ด ๊ฐ์ฒด์—์„œ ๋” ์ด์ƒ ์–ด๋– ํ•œ ๋ณ€์ˆ˜๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š์„ ๋•Œ, ํ•ด๋‹น ๋ฌธ์ž์—ด ๊ฐ์ฒด๋Š” ์ฐธ์กฐ ์นด์šดํŠธ๊ฐ€ 0์ด ๋˜๋ฉฐ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๋Œ€์ƒ์ด ๋œ๋‹ค. ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด์‘ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

๐Ÿ’ก 4. ๋ฌธ์ž์—ด ํ•จ์ˆ˜์™€ ์—ฐ์‚ฐ์ž

4-1. ๋ฌธ์ž์—ด ๊ธฐ๋ฆฌ ํ™•์ธํ•˜๊ธฐ(len())

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

text = 'Hello, Python'
print(len(text)) # ์ถœ๋ ฅ: 13)

4-2. ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ(+)

๋‘ ๋ฌธ์ž์—ด์„ ํ•ฉ์ณ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ์ƒ์„ฑํ•œ๋‹ค.

name = '์œ ๋ฏผ์ฝฉ'
age = '4์‚ด'
message = name + ', ' + age
print(message) # ์ถœ๋ ฅ: ์œ ๋ฏผ์ฝฉ, 4์‚ด

4-3. ๋ฌธ์ž์—ด ๋ฐ˜๋ณตํ•˜๊ธฐ(*)

๋ฌธ์ž์—ด์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ์ƒ์„ฑํ•œ๋‹ค.

hamster = '๐Ÿน' * 10
print(hamster) # ์ถœ๋ ฅ: ๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน๐Ÿน

4-4. ๋ฌธ์ž์—ด ์ธ๋ฑ์‹ฑ๊ณผ ์Šฌ๋ผ์ด์‹ฑ

๋ฌธ์ž์—ด ๋‚ด๋ถ€์˜ ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ธ‰ํ•˜๊ฑฐ๋‚˜ ์Šฌ๋ผ์ด์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ณ€์ˆ˜๋ช…[n] ์ด๋ฉด n๋ฒˆ ์ธ๋ฑ์Šค์— ์ ‘๊ทผ, ๋ณ€์ˆ˜๋ช…[a:b]๋ฉด a์ธ๋ฑ์Šค๋ถ€ํ„ฐ b์ง์ „๊นŒ์ง€ ์Šฌ๋ผ์ด์‹ฑํ•œ๋‹ค.

str1 = '๋ฌธ์ž์—ด ๋‚ด๋ถ€์˜ ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์Šฌ๋ผ์ด์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.'
print(str1)

# ์ธ๋ฑ์‹ฑ
print(str1[0]) # ์ถœ๋ ฅ: ๋ฌธ
print(str1[1]) # ์ถœ๋ ฅ: ์ž
print(str1[12]) # ์ถœ๋ ฅ: ์ธ
print(str1[-1]) # ์ถœ๋ ฅ: .
print(str1[-2]) # ์ถœ๋ ฅ: ๋‹ค

# ์Šฌ๋ผ์ด์‹ฑ
print(str1[0:3]) # ์ถœ๋ ฅ: ๋ฌธ์ž์—ด
print(str1[8:16]) # ์ถœ๋ ฅ: ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ
print(str1[:16]) # ์ถœ๋ ฅ: ๋ฌธ์ž์—ด ๋‚ด๋ถ€์˜ ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ
print(str1[8:]) # ์ถœ๋ ฅ: ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์Šฌ๋ผ์ด์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
print(str1[:]) # ์ถœ๋ ฅ: ๋ฌธ์ž์—ด ๋‚ด๋ถ€์˜ ๋ฌธ์ž์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์Šฌ๋ผ์ด์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก 5. ๋ฌธ์ž์—ด ๋ฉ”์†Œ๋“œ

๋ฌธ์ž์—ด ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด ๊ฐ์ฒด์— ์ ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋กœ, ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค

5-1. upper()์™€ lower()

upper()์€ ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž๋กœ, lower()์€ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค

text = 'Hello, Python'
print(text.upper()) # ์ถœ๋ ฅ: HELLO, PYTHON
print(text.lower()) # ์ถœ๋ ฅ: hello, python

5-2. count()

ํŠน์ • ๋ฌธ์ž์—ด์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ํ™•์ธํ•œ๋‹ค.

text = 'Hello, Python'
print(text.count('o')) # ์ถœ๋ ฅ: 2
print(text.count('ll')) # ์ถœ๋ ฅ: 1

5-3. find()

ํŠน์ • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋“ฑ์žฅ ์œ„์น˜(์ธ๋ฑ์Šค)๋ฅผ ํ™•์ธํ•œ๋‹ค.

text = 'Hello, Python'
print(text.find('o')) # ์ถœ๋ ฅ: 4
print(text.find('ll')) # ์ถœ๋ ฅ: 2
print(text.find('z')) # ๋ฌธ์ž์—ด ๋‚ด์— ์—†์œผ๋ฉด -1; -1
print(text.rfind('o')) # ๋‘ ๋ฒˆ์งธ o ์œ„์น˜; 11
print(text.find('o', 6)) # ์ธ๋ฑ์Šค 6 ์ดํ›„๋ถ€ํ„ฐ; 11

5-4. replace()

replace('a', 'b'): ๋ฌธ์ž์—ด 'a'๋ฅผ ๋ฌธ์ž์—ด 'b'๋กœ ๋Œ€์ฒดํ•œ๋‹ค

text = 'Hello, Python'
print(text.replace('Python', 'World')) # ์ถœ๋ ฅ: Hello, world

5-5. strip()

๋ฌธ์ž์—ด์˜ ์–‘์ชฝ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•œ๋‹ค.

text = '        Hello, Python'
print(text) # ์ถœ๋ ฅ:        Hello, Python
print(text.strip()) # ์ถœ๋ ฅ: Hello, Python

5-6. split()

๊ด„ํ˜ธ ์•ˆ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•ด ๋ฆฌ์ŠคํŠธ๋กœ ์ €์žฅํ•œ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ๋„์–ด์“ฐ๊ธฐ(' ')์ด๋‹ค.

text = '์œ ๋ฏผ์ฝฉ ์ •ํ˜„์ฝฉ ์ˆ˜ํ˜„์ฝฉ ์œ ๋นˆ์ฝฉ'
names = text.split() # split(' ')
print(names) # ์ถœ๋ ฅ: ['์œ ๋ฏผ์ฝฉ', '์ •ํ˜„์ฝฉ', '์ˆ˜ํ˜„์ฝฉ', '์œ ๋นˆ์ฝฉ']

text = '์œ ๋ฏผ์ฝฉ,์ •ํ˜„์ฝฉ,์ˆ˜ํ˜„์ฝฉ,์œ ๋นˆ์ฝฉ'
names = text.split(',')
print(names) # ์ถœ๋ ฅ: ['์œ ๋ฏผ์ฝฉ', '์ •ํ˜„์ฝฉ', '์ˆ˜ํ˜„์ฝฉ', '์œ ๋นˆ์ฝฉ']

5-7. join()

๋ฌธ์ž์—ด ๊ธ€์ž ์‚ฌ์ด์‚ฌ์ด์— ํŠน์ • ๋ฌธ์ž์—ด์„ ์‚ฝ์ž…ํ•œ๋‹ค.

text = 'Hello'
print('๐Ÿน'.join(text)) # ์ถœ๋ ฅ: H๐Ÿนe๐Ÿนl๐Ÿนl๐Ÿนo

5-8. stratswith()์™€ endswith()

์ ‘๋‘์‚ฌ์™€ ์ ‘๋ฏธ์‚ฌ๋ฅผ ํ™•์ธํ•œ๋‹ค. bool๊ฐ’์ด ๋ฐ˜ํ™˜๋œ๋‹ค.

text = 'Hello, Python'
print(text.startswith('Hello')) # ์ถœ๋ ฅ: True
print(text.startswith('Python')) # ์ถœ๋ ฅ: False
print(text.endswith('Python')) # ์ถœ๋ ฅ: True
profile
์–ด๋–ป๊ฒŒ ํ–„์Šคํ„ฐ๊ฐ€ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€