6์ฃผ์ฐจ ์ฃผ์ ๋ ๋ฌธ์์ด์ ๋๋ค.
1. ๋ฌธ์์ด์ ์ดํด
1) ๋ฌธ์์ด์ ๊ฐ๋
- ์ํ์ค ์๋ฃํ : ๋ฆฌ์คํธ์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ํ์์ ๋ฐ์ดํฐ
- ๋ฌธ์์ด(string)์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ๋ ๋งค์ฐ ์ค์ํ๊ฒ ๋ค๋ค์ง๋ ์๋ฃํ ์ค ํ๋๋ก, ์ํ์ค ์๋ฃํ(sequence data type)์ด๋ค.
2) ๋ฌธ์์ด๊ณผ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- ๋ฌธ์์ด์ ์ ์ฅํ๊ธฐ ์ํด์๋ ์๋ฌธ์ ํ ๊ธ์๋น 1๋ฐ์ดํธ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ์ฉํจ
1๋ฐ์ดํธ = 8๋นํธ = 2์ 8์น์ธ 256๊น์ง์ ์ซ์๋ฅผ ์ ์ฅํ ์ ์์.
import sys
print(sys.getsizeof("a"), sys.getsizeof("ab"), sys.getsizeof("abc"))
# ์ถ๋ ฅ ๊ฒฐ๊ณผ
50 51 52
- sys.getsizeof( ) : ํน์ ๋ณ์(๋๋ ๊ฐ)์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ธก์ ํ๋ ํจ์
- a, ab, abc์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ๊ฐ๊ฐ 50, 51, 52๋ฐ์ดํธ๋ผ๋ ๋ป์. ํ๋์ ๋ฌธ์๋ฅผ ์ ์ฅํ๊ธฐ ์ํด, ์ ์ฅ๋๋ ๋ฌธ์ ์์ฒด๋ฅผ ์ ์ธํ๊ณ ๋ ๋ณ์์ ์ ์ฅ ์์น ๋ฑ์ ์ํด 49๋ฐ์ดํธ๊ฐ ํ์ํ๋ค๋ ๊ฒ์.
- ์ปดํจํฐ๋ ๋ฌธ์๋ฅผ ์ง์ ์ธ์ํ์ง ์๋๋ค. ํ ์คํธ๋ก ์ธ์ํ๋ ๊ฒ์ด ์๋, ์ด์ง์๋ก ๋ณํํ์ฌ ์ ์ฅํ๋ค. ๋ฌธ์๊ฐ 1๋ฐ์ดํธ๋ผ๊ณ ํ๋, 2์ 8์น์ ๊ณต๊ฐ์ ๋ฌธ์์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ex) ์ฐ๋ฆฌ ๋์๋ a๋ผ๊ณ ๋ณด์ด์ง๋ง ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์ CPU์๋ 01001011๊ณผ ๊ฐ์ ์ซ์๋ค์ด ์ฒ๋ฆฌ๋๋ค.
- ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ด์ง์๋ก ๋ณํ๋๋ ํ์ค ๊ท์น์ด ์กด์ฌํจ. ๋ํ์ ์ผ๋ก ASCII (American Standard Code for Information Interchange) ๊ฐ ์์. ์๋์์ ํ๊ธ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ง์ด ์ฐ๋ CP949, MS949, UTF-8 ๋ฑ์ด ์์. ์ด๋ฌํ ๊ท์น์ ์ธ์ฝ๋ฉ(encoding)์ด๋ผ๊ณ ํจ.
- ๋ค์ ๊ท์น์ ์ด์ฉํ์ฌ ์ซ์์ ๋ฌธ์๋ฅผ ๋งตํํ๋ ๊ฒ์ด ์ด์์ฒด์ ์ ์ธํฐํ๋ฆฌํฐ์ ์ญํ ์ค ํ๋์ด๋ค.
- ์ปดํจํฐ๋ ๋ฌธ์๋ฅผ ์ง์ ์ธ์ํ์ง ๋ชปํ๋ค.
- ์ปดํจํฐ๋ ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ์ฌ ์ธ์ํ๋ค.
- ์ฌ๋๋ค์ ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ๊ธฐ ์ํ ๊ท์น์ ๋ง๋ค์๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ด ๊ท์น์ 1๊ฐ์ ์๋ฌธ์๋ฅผ 1๋ฐ์ดํธ, ์ฆ 2์ 8์น ์ ๋์ ๊ณต๊ฐ์ ์ ์ฅํ๋ค.
3) ๋ฌธ์์ด์ ์ธ๋ฑ์ฑ
๋ฌธ์์ด์ ์ํ์ค ์๋ฃํ์ด๋ค. ์ํ์ค ์๋ฃํ์ ๋ฆฌ์คํธ์ ํน์ง์ด ๊ฑฐ์ ๊ฐ์ ์๋ฃํ์ด๋ค.
๋ฐ๋ผ์ ๋ฌธ์์ด์ ํน์ง ์ค ํ๋๊ฐ ์ธ๋ฑ์ฑ(indexing)์ด๋ค.
a = "abcde"
print(a[0],a[4])
print(a[-1], a[-5])
#์ถ๋ ฅ ๊ฒฐ๊ณผ
a e
e a
4) ๋ฌธ์์ด์ ์ฌ๋ผ์ด์ฑ
์ฌ๋ผ์ด์ฑ(slicing) : ๋ฌธ์์ด ์ฃผ์๊ฐ์ ์ด์ฉํด ๋ฌธ์์ด์ ๋ถ๋ถ๊ฐ์ ์ถ์ถํด๋ด๋ ๊ธฐ๋ฒ
a = "TEAMLAB MOOC, AWESOME Python"
print(a[0:6], "AND", a[-9:])
print(a[:])
print(a[-50:50])
print(a[::2], "AND", a[::-1])
#์ถ๋ ฅ๊ฒฐ๊ณผ
TEAMLA AND ME Python
TEAMLAB MOOC, AWESOME Python
TEAMLAB MOOC, AWESOME Python
TALBMO,AEOEPto AND nohtyP EMOSEWA ,COOM BALMAET
5) ๋ฌธ์์ด์ ์ฐ์ฐ
๋ฌธ์์ด๋ ์ผ๋ฐ์ ์ธ ๋ณ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌธ์์ด ์ฐ์ฐ์ ๋ฆฌ์คํธ ์ฐ์ฐ๊ณผ ๊ฐ๋ค.
a = "TEAM"
b = "LAB"
print(a + "" + b) # ๋ง์
์ผ๋ก a์ b ๋ณ์ ์ฐ๊ฒฐํ๊ธฐ
print(a * 2 + "" + b * 2) # ๊ณฑํ๊ธฐ๋ก ๋ฐ๋ณต ์ฐ์ฐ ๊ฐ๋ฅ
if 'A' in a: print(a) # 'A'๊ฐ a์ ํฌํจ๋์๋์ง ํ์ธ
else: print(b)
# ์ถ๋ ฅ๊ฒฐ๊ณผ
TEAM LAB
TEAMTEAM LABLAB
TEAM
๋ง์ ์ฐ์ฐ์์ ๋ชจ๋ ๋ณ์๊ฐ ๋ฌธ์์ด์ผ ๊ฒฝ์ฐ ํ ์คํธ ๋ถ์ด๊ธฐ(concatenate)๊ฐ ์ด๋ฃจ์ด์ง๋ค.
๋ฌธ์ํ๊ณผ ์ ์ํ์ ์ฐ์ฐ์ ๋ง์ ์ฐ์ฐ์ด ์คํ๋์ง ์๋๋ค. (๋ค์ ์ฝ๋ ์์๋ฅผ ์ดํด๋ณด์.)
int_value = 2
print("๊ฒฐ๊ณผ๋" + int_value) # ์คํ๋์ง ์์
6) ๋ฌธ์์ด ํจ์
๋ฌธ์์ด ํจ์๋ ๋ฌธ์์ด์ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๊ธฐ ์ ์ฉํ ํจ์์ด๋ค.
๋ช๊ฐ์ง ์ฃผ์ ๋ฌธ์์ด ํจ์์ ๋ํด ์์๋ณด์.
- upper( ) ํจ์ : ๋ฌธ์์ด์ ๋๋ฌธ์๋ก ๋ณํํ๋ ํจ์
- lower( ) ํจ์ : ๋ฌธ์์ด์ ์๋ฌธ์๋ก ๋ณํํ๋ ํจ์
title = "TEAMLAB X Inflearn"
print(title.upper()) # title ๋ณ์๋ฅผ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ณํ
print(title.lower()) # title ๋ณ์๋ฅผ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณํ
# ์ถ๋ ฅ๊ฒฐ๊ณผ
'TEAMLAB X INFLEARN'
'teamlab x inflearn'
- title( ) ํจ์ : ๊ฐ ๋จ์ด์ ์๊ธ์๋ง ๋๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์
- capitalize( ) ํจ์ : ์ฒซ ๋ฒ์งธ ๊ธ์๋ง ๋๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์
title = "TEAMLAB X Inflearn"
print(title.title()) # title ๋ณ์์ ๊ฐ ๋จ์ด์ ์๊ธ์๋ง ๋๋ฌธ์๋ก ๋ณํ
print(title.capitalize()) # title ๋ณ์์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ง ๋๋ฌธ์๋ก ๋ณํ
# ์ถ๋ ฅ๊ฒฐ๊ณผ
'Teamlab X Inflearn'
'Teamlab x inflearn'
- count( ) ํจ์ : ํด๋น ๋ฌธ์์ด์์ ํน์ ๋ฌธ์๊ฐ ํฌํจ๋ ๊ฐฏ์๋ฅผ ๋ฐํ
- isdigit( ) ํจ์ : ํด๋น ๋ฌธ์์ด์ด ์ซ์์ธ์ง ์ฌ๋ถ ๋ฐํ
- startswith( ) ํจ์ : ํด๋น ๋ฌธ์์ด์ด ๋ฌธ์์ด๋ก ์์ํ๋์ง ์ฌ๋ถ ๋ฐํ
title = "TEAMLAB X Inflearn"
print(title.count("a")) # title ๋ณ์์ 'a'๊ฐ ๋ช ๊ฐ ์๋์ง ๊ฐ์ ๋ฐํ
print(title.upper().count("a")) # title ๋ณ์๋ฅผ upper() ํ, 'a'๊ฐ ๋ช ๊ฐ ์๋์ง ๊ฐ์ ๋ฐํ
print(title.isdigit()) # title ๋ณ์์ ๋ฌธ์์ด์ด ์ซ์์ธ์ง ์ฌ๋ถ ๋ฐํ
print(title.startswith("a")) # title ๋ณ์๊ฐ 'a'๋ก ์์ํ๋์ง ์ฌ๋ถ ๋ฐํ
# ์ถ๋ ฅ๊ฒฐ๊ณผ
1
0
False
False
์ค์ต : ๋จ์ด ์นด์ดํ ์งํ
The Beatles <Yesterday> ๋ ธ๋ ๊ฐ์ฌ์์ ‘Yesterday’๋ผ๋ ๋จ์ด๊ฐ ๋ช ๋ฒ ๋์ค๋์ง ๋งํ๋ ๋จ์ด ์นด์ดํ ํ๋ก๊ทธ๋จ์ ์์ฑํฉ๋๋ค.
2. ๋ฌธ์์ด ์์ ์ง์
1) ์์ ์ง์ ์ ๊ฐ๋
print() ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ์ ๋๋ ๊ฐ์ ์ฝค๋ง๋ก ๋์ด์ฐ๊ธฐํ์ฌ ์ถ๋ ฅํ๋ค. ํ์ง๋ง ํน์ ํ์์ ๋ง์ถฐ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ ๊ฒฝ์ฐ๋ ๋ฐ์ํ๋๋ฐ, ์ด๋ฅผ ์์ ์ง์ (formatting)์ด๋ผ๊ณ ํ๋ค.
2) % ์์๊ณผ format( ) ํจ์
print(1, 2, 3)
print("a" + "" + "b" + "" + "c")
print("%d %d %d" % (1, 2, 3))
print("{} {} {}".format("a","b","c"))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
1 2 3
a b c
1 2 3
a b c
print('%s %s' % ('one','two'))
print('%d %d' % (1, 2))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
one two
1 2
2.1 % ์์
์ถ๋ ฅ ์์ : ‘%์๋ฃํ % (๊ฐ)’
print("I eat %d apples." % 3)
print("I eat %s apples." % "five")
# ์ถ๋ ฅ๊ฒฐ๊ณผ
I eat 3 apples.
I eat five apples.
%d๋ ์ ์ํ์ ๋ณ์๋ฅผ, %s๋ ๋ฌธ์์ด์ ๋ณ์๋ฅผ ํ ๋น๋ฐ์ ์ ์๋ค.
๋ณ์์ ์๋ฃํ์ ๋ฐ๋ผ ๋ค์ํ๊ฒ ์ค์ ํ ์ ์๋ค.
% ์์์ 1๊ฐ ์ด์์ ๊ฐ๋ ํ ๋นํ ์ ์๋ค. % ๋ค์ ๊ดํธ๋ฅผ ๋ฃ์ด ๊ทธ ์์ ์์๋๋ก ๊ฐ์ ์ ๋ ฅํ๋ฉด ๋๋ค.
print("Product: %s, Price per unit: %f." % ("Apple", 5.243))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
Product: Apple, Price per unit: 5.243000.
๊ฐ์ ์ง์ ์์ด ์๊ณ number, day์ ๊ฐ์ ๋ณ์๋ช ์ ๋ฃ์ด๋ ๋ฌธ์ ์์ด ์คํ๋๋ค.
number = 3
day = "three"
print("I ate %d apples. I was sick for %s days." % (number, day))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
I ate 3 apples. I was sick for three days.
2.2 format( ) ํจ์
์ถ๋ ฅ ์์ : “{์๋ฃํ}”.format(์ธ์)
print("I'm {0} years old.".format(20))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
I'm 20 years old.
format( ) ํจ์๋ % ์์์ฒ๋ผ ๋ณ์์ ์ด๋ฆ์ ์ฌ์ฉํ๊ฑฐ๋ ๋ณ์์ ์๋ฃํ์ ๋ฐ๋ก ์ง์ ํ์ฌ ์ถ๋ ฅํ๋ค.
age = 22; name = 'Gyulim'
print("I'm {0} years old.".format(age))
print("My name is {0} and {1} years old.".format(name, age))
print("Product: {0}, Price per unit: {1:.2f}.".format("Apple", 5.243))
# ์ถ๋ ฅ๊ฒฐ๊ณผ
I'm 22 years old.
My name is Gyulim and 22 years old.
Product: Apple, Price per unit: 5.24.
3) ํจ๋ฉ
ํ์ด์ฌ์ ์์ ์ง์ ๊ธฐ๋ฅ์๋ ์ฌ์ ๊ณต๊ฐ์ ์ง์ ํ์ฌ ๊ธ์ ๋ฐฐ์ด์ ๋ง์ถ๊ณ ์์์ ์๋ฆฟ์๋ฅผ ๋ง์ถ๋ ํจ๋ฉ(padding) ๊ธฐ๋ฅ์ด ์๋ค. % ์์๊ณผ format( ) ํจ์ ๋ชจ๋ ํจ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
3.1 % ์์์ ํจ๋ฉ
print("%10d" % 12) # 10์๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ์ฐ์ธก ์ ๋ ฌ๋ก 12๋ฅผ ์ถ๋ ฅ
12
print("%-10d" % 12) # ์ข์ธก ์ ๋ ฌ๋ก 12๋ฅผ ์ถ๋ ฅ
12
์ค์์์๋ ์๋ฆฟ์์ ์์์ ์๋ฆฟ์๋ฅผ ์ง์ ํ ์ ์๋ค.
print("%10.3f" % 5.94343) # 10์๋ฆฌ๋ฅผ ํ๋ณดํ๊ณ ์์์ ์
์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ
5.943
print(%10.2f" % 5.94343) # 10์๋ฆฌ๋ฅผ ํ๋ณดํ๊ณ ์์์ ๋์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ
5.94
print(%-10.2f" % 5.94343)
5.94
3.2 format( ) ํจ์์ ํจ๋ฉ
print("{0:>10s}".format("Apple")) # 10์๋ฆฌ์ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ์ฐ์ธก ์ ๋ ฌ๋ก 'Apple' ์ถ๋ ฅ
Apple
print("{0:<10s}".format("Apple")) # ์ข์ธก ์ ๋ ฌ๋ก ์ถ๋ ฅ
Apple
์ค์์์๋ ์๋ฆฟ์์ ์์์ ์๋ฆฟ์๋ฅผ ์ง์ ํ ์ ์๋ค.
print("{1:>10.5f}.".format("Apple", 5.243) #10์๋ฆฌ ๊ณต๊ฐ ํ๋ณดํ๊ณ ์์์ 5์๋ฆฌ๊น์ง ์ค์ ์ถ๋ ฅ
' 5.24300.'
print("{1:<10.5f}.".format("Apple", 5.243) #์ข์ธก ์ ๋ ฌ
'5.24300 .'
3. ๋ฌธ์์ด์ ๋ถ๋ฆฌ ๋ฐ ๊ฒฐํฉ
1) ๋ฌธ์์ด์ ๋ถ๋ฆฌ : split( ) ํจ์
split( ) ํจ์๋ ํน์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌํ์ฌ ๋ฆฌ์คํธ ํํ๋ก ๋ณํํ๋ค.
items = 'zero one two three'.split() # ๋น์นธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋ถ๋ฆฌํ๊ธฐ
print(items)
# ์ถ๋ ฅ๊ฒฐ๊ณผ
['zero', 'one', 'two', 'three']
- split( ) ํจ์ ์์ ๋งค๊ฐ๋ณ์๋ก ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์์ผ๋ฉด ๋น์นธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌํ๋ผ๋ ๋ป์.
example = 'python, jquery,javascript' # ","๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
print(example.split(","))
a, b, c = example.split(",") # ๋ฆฌ์คํธ์ ์๋ ๊ฐ ๊ฐ์ a, b, c ๋ณ์๋ก ์ธํจํน
print(a, b, c)
example = 'theteamlab.univ.edu'
subdomain, domain, tld = example.split('.') # "."์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ→์ธํจํน
print(subdomain, domain, tld)
# ์ถ๋ ฅ๊ฒฐ๊ณผ
['python', 'jquery', 'javascript']
python jquery javascript
theteamlab univ edu
2) ๋ฌธ์์ด์ ๊ฒฐํฉ : join( ) ํจ์
join( ) ํจ์๋ ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ๋ฅผ ํฉ์ณ ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ค ๋ ์ฌ์ฉํจ. join( ) ํจ์๋ ๊ตฌ๋ถ์.join(๋ฆฌ์คํธํ) ํํ์.
colors = ['red', 'blue', 'green', 'yellow']
result = ''.join(colors)
print(result)
# ์ถ๋ ฅ๊ฒฐ๊ณผ
'redbluegreenyellow'
result = ' '.join(colors) # ์ฐ๊ฒฐ ์, 1์นธ์ ๋๊ณ ์ฐ๊ฒฐ
print(result)
result = ', '.join(colors) # ์ฐ๊ฒฐ ์, ", "๋ก ์ฐ๊ฒฐ
print(result)
result = '-'.join(colors) # ์ฐ๊ฒฐ ์, "-"๋ก ์ฐ๊ฒฐ
print(result)
# ์ถ๋ ฅ๊ฒฐ๊ณผ
'red blue green yellow'
'red, blue, green, yellow'
'red-blue-green-yellow'
'๐ ์คํฐ๋ > ํ์ด์ฌ ์คํฐ๋ ๊ฐ์์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[3ํ/๊น๊ฒฝ์] 7์ฃผ์ฐจ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃ๊ตฌ์กฐ (1) | 2023.05.10 |
---|---|
[4ํ/๊น๋ฏผํ] 7์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃ๊ตฌ์กฐ (0) | 2023.05.09 |
[2ํ/๊น๊ฐ๋ฆผ, ์ต๋ค์] 6์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฌธ์์ด (0) | 2023.05.04 |
[3ํ/์ด์งํ] 6์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฌธ์์ด (0) | 2023.05.04 |
[1ํ/ํ์์] 6์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฌธ์์ด (1) | 2023.05.04 |