πŸ‘©‍πŸ’» Learn programming/Python

[Python] 파이썬 μžλ£Œν˜• / ν•™μŠ΅λ‚΄μš© 정리

밍κ΅₯μž‰ 2022. 1. 23. 12:00

🐱 μžλ£Œν˜•κ³Ό λ¬Έμžμ—΄

 

1. μžλ£Œν˜• : 자료의 ν˜•μ‹

βœ… 기본적인 μžλ£Œν˜• : λ¬Έμžμ—΄(string), 숫자(number), 뢈(boolean)

βœ… νŒŒμ΄μ¬μ—μ„œ μžλ£Œν˜• 확인 : type( )

 

2. λ¬Έμžμ—΄(string)

βœ… 큰 λ”°μ˜΄ν‘œ, μž‘μ€ λ”°μ˜΄ν‘œλ‘œ λ¬Έμžμ—΄ λ§Œλ“€κΈ° 
     >>> print("μ•ˆλ…•ν•˜μ„Έμš”"), print('μ•ˆλ…•ν•˜μ„Έμš”')

βœ… λ¬Έμžμ—΄ 내뢀에 λ”°μ˜΄ν‘œ λ„£κΈ°

     >>> print('"μ•ˆλ…•"ν•˜μ„Έμš”') / print("'μ•ˆλ…•'ν•˜μ„Έμš”")

     >>> (좜λ ₯) "μ•ˆλ…•"ν•˜μ„Έμš” / 'μ•ˆλ…•'ν•˜μ„Έμš”

 

βœ… μ΄μŠ€μΌ€μ΄ν”„ 문자

μ΄μŠ€μΌ€μ΄ν”„ 문자 의미 좜λ ₯
"\ 큰 λ”°μ˜΄ν‘œ "
'\ μž‘μ€ λ”°μ˜΄ν‘œ '
\n μ€„λ°”κΏˆ  
\t νƒ­  
\\ μ—­μŠ¬λž˜μ‹œ \

 

2. λ¬Έμžμ—΄ μ—°μ‚°μž

βœ… λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž : +

# "λ¬Έμžμ—΄" + "λ¬Έμžμ—΄"
print("hello " + "world")
>>> (좜λ ₯) hello world
#λ¬Έμžμ—΄μ€ λ¬Έμžμ—΄λΌλ¦¬ μ—°κ²° κ°€λŠ₯
print("hello " + 3 )
>>> (였λ₯˜) TypeErrord
#ν•΄κ²° 방법
print("hello " + "3" )
>>> (좜λ ₯) hello 3

 

βœ… λ¬Έμžμ—΄ 반볡 μ—°μ‚°μž : *

# 'λ¬Έμžμ—΄ * 숫자' OR '숫자 * λ¬Έμžμ—΄'
print("hello " * 3)
>>> hello hello hello
print(3 * "hello")
>>> hellohellohello

 

βœ… λ¬Έμžμ—΄ 선택 μ—°μ‚°μž (인덱싱) : [ ]

  • νŒŒμ΄μ¬μ€ 인덱슀 숫자λ₯Ό 0λΆ€ν„° μ„ΈλŠ” '제둜 인덱슀'
    μ•ˆ λ…• ν•˜ μ„Έ μš”
    [0] [1] [2] [3] [4]
    [-5] [-4] [-3] [-2] [-1]

 

βœ… λ¬Έμžμ—΄ λ²”μœ„ 선택 μ—°μ‚°μž (μŠ¬λΌμ΄μ‹±) : [ : ]

# "λ¬Έμžμ—΄"[1️⃣:2️⃣] (1️⃣,2οΈβƒ£λŠ” 인덱슀 번호)
# -> νŒŒμ΄μ¬μ€ λ’€μ˜ 숫자(2️⃣)보닀 μ•žμ˜ μˆ«μžκΉŒμ§€ 선택
# => '1️⃣뢀터 2οΈβƒ£κ°œ' 라고 μƒκ°ν•˜λ©΄ νŽΈν•¨

print("μ•ˆλ…•ν•˜μ„Έμš”"[1:])
>>> (좜λ ₯)λ…•ν•˜μ„Έμš”
print("μ•ˆλ…•ν•˜μ„Έμš”"[:3])
>>> (좜λ ₯)μ•ˆλ…•ν•˜
print("μ•ˆλ…•ν•˜μ„Έμš”"[2:4])
>>> (좜λ ₯)ν•˜μ„Έμš”

# IndexError(index out of range)
# 리슀트/λ¬Έμžμ—΄μ˜ 수λ₯Ό λ„˜λŠ” 인덱슀둜 μ˜ˆμ™Έ λ°œμƒ
print("μ•ˆλ…•ν•˜μ„Έμš”"[10])

 

3. λ¬Έμžμ—΄ 길이

βœ… λ¬Έμžμ—΄ 길이 κ΅¬ν•˜λŠ” ν•¨μˆ˜: len( )

 


🐱 μˆ«μž

 

1. 숫자의 μ’…λ₯˜

βœ… int (integer) : μ •μˆ˜ , ex) -1, -2, -3, 0, 1, 2, 3, 

βœ… float (floating point) : λΆ€λ™μ†Œμˆ˜μ  (μ‹€μˆ˜), ex) -0.2, 0.0, 10.0, 12.3

βœ… μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 수 = ν—ˆμˆ˜ (μ •μˆ˜ < μ‹€μˆ˜ < λ³΅μ†Œμˆ˜)

 

2. 숫자 μ—°μ‚°μž

μ—°μ‚°μž μ„€λͺ… μ˜ˆμ‹œ
+ 사칙 μ—°μ‚°μž 15 + 4 = 19
_ 15 - 4 = 11
* 15 * 4 = 60
/ 15 / 4 = 3.75
// μ •μˆ˜ λ‚˜λˆ„κΈ° 15 // 4 = 3
% λ‚˜λ¨Έμ§€ 15 % 4 = 0.75
** 제곱 15 ** 4 = 50625

 

3. μ—°μ‚°μžμ˜ μš°μ„ μˆœμœ„

βœ… κ³±μ…ˆ/λ‚˜λˆ—μ…ˆ > λ§μ…ˆ/λΊ„μ…ˆ

βœ… 같은 μš°μ„ μˆœμœ„λ₯Ό κ°€μ§€λŠ” μ—°μ‚°μžλŠ” μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½ μˆœμ„œ

 


🐱 λ³€μˆ˜μ™€ μž…λ ₯

 

1. λ³€μˆ˜ : 값을 μ €μž₯ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ‹λ³„μž

βœ… λ³€μˆ˜ μ„ μ–Έν•˜κΈ° [ λ³€μˆ˜ = κ°’ ] 

βœ… λ³€μˆ˜ μ‚¬μš©ν•˜κΈ° [ μ‹λ³„μž ]

βœ… μ„ μ–Έ : μ‹λ³„μžλ₯Ό λ³€μˆ˜λ‘œ μ“°κ² λ‹€κ³  ν•˜λŠ” 것

βœ… ν• λ‹Ή : ν•΄λ‹Ή λ³€μˆ˜μ— 값을 λ„£λŠ” 것

βœ… μ΄ˆκΈ°ν™” : μ„ μ–Έ, ν• λ‹Ή 과정을 처음 ν•΄μ£ΌλŠ” 것

βœ… νŒŒμ΄μ¬μ€ μ΄λŸ¬ν•œ 과정을 μ–΄λ ΅κ²Œ ꡬ뢄할 ν•„μš”κ°€ μ—†μŒ

 

2. λ³΅ν•©λŒ€μž…μ—°μ‚°μž

βœ… μˆ«μžμ— μ μš©κ°€λŠ₯ν•œ μ—°μ‚°μž

μ—°μ‚°μž 이름 μ„€λͺ…
+= 숫자 λ§μ…ˆ ν›„ λŒ€μž…
-= 숫자 λΊ„μ…ˆ ν›„ λŒ€μž…
*= 숫자 κ³±μ…ˆ ν›„ λŒ€μž…
/= 숫자 λ‚˜λˆ—μ…ˆ ν›„ λŒ€μž…
%= 숫자의 λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•œ ν›„ λŒ€μž…
**= 숫자 제곱 ν›„ λŒ€μž…

 

βœ… λ¬Έμžμ—΄ 볡합 λŒ€μž… μ—°μ‚°μž

μ—°μ‚°μž 이름 μ„€λͺ…
+= λ¬Έμžμ—΄ μ—°κ²° ν›„ λŒ€μž…
*= λ¬Έμžμ—΄ 반볡 ν›„ λŒ€μž…

 

3. μ‚¬μš©μž μž…λ ₯ : input( )

βœ… input( _ _ _ )μ—μ„œ _ _ _을 'ν”„λ‘¬ν”„νŠΈ λ¬Έμžμ—΄'이라고 함

βœ… input ν•¨μˆ˜λŠ” 무쑰건 λ¬Έμžμ—΄μ„ 쀌

βœ… True/False, 뢈(boolean), 숫자 값을 μž…λ ₯해도 μžλ£Œν˜•μ€ 'λ¬Έμžμ—΄'

 

4. λ¬Έμžμ—΄μ„ 숫자둜 λ°”κΎΈκΈ° : cast(캐슀트)

βœ… int( )

βœ… float( )

 

5. 숫자λ₯Ό λ¬Έμžμ—΄λ‘œ λ°”κΎΈκΈ°

βœ… str( )

 

# ValueError μ˜ˆμ™Έ
# μžλ£Œν˜• λ³€ν™˜ μ‹œ, 'λ³€ν™˜ν•  수 μ—†λŠ” 것'을 λ³€ν™˜ν•˜λ©΄ μ˜ˆμ™Έ λ°œμƒ
int("μ•ˆλ…•ν•˜μ„Έμš”")
float("μ•ˆλ…•ν•˜μ„Έμš”")

🐱 μˆ«μžμ™€ λ¬Έμžμ—΄μ˜ λ‹€μ–‘ν•œ κΈ°λŠ₯

 

1. λ¬Έμžμ—΄.ν•¨μˆ˜(λ§€κ°œλ³€μˆ˜)

 

2. format( ) ν•¨μˆ˜

# "{}".format( )
# "{} {}".format( , )
format_a = "{}λ…„ {}μ›” {}일 {}μš”μΌ".format(2022, 01, 20, 금)
>>> (좜λ ₯) 2022λ…„ 01μ›” 20일 κΈˆμš”μΌ

# IndexError μ˜ˆμ™Έ
# {}기호의 κ°―μˆ˜κ°€ format()ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜ κ°―μˆ˜λ³΄λ‹€ 많으면 μ˜ˆμ™Έ λ°œμƒ
format_b = "{} {} {}".format(123, 456)
# μ •μˆ˜
format_a = "{:d}".format(123)
print(format_a)
>>> (좜λ ₯)123

# νŠΉμ • 칸에 좜λ ₯ν•˜κΈ°
format_b = "{:5d}".format(123)
format_c = "{:10d}".format(123)
print(format_b) 
print(format_c)
>>> (좜λ ₯)   123
>>> (좜λ ₯)        123 

# λΉˆμΉΈμ„ 0으둜 μ±„μš°κΈ°
format_d = "{:05d}".format(123)
format_e = "{:05d}".format(-123)
print(format_d) 
print(format_e)
>>> (좜λ ₯) 00123
>>> (좜λ ₯) -0123

# κΈ°ν˜Έμ™€ ν•¨κ»˜ 좜λ ₯ν•˜κΈ°
format_f = "{:+d}".format(123)
format_g = "{:+d}".format(-123)
format_h = "{: d}".format(123)
format_i = "{: d}".format(-123)
>>> (좜λ ₯) +123
>>> (좜λ ₯) -123
>>> (좜λ ₯)  123
>>> (좜λ ₯) -123
# float μžλ£Œν˜• κΈ°λ³Έ
format_a = "{:f}".format(123.123)
format_b = "{:15f}".format(123.123)
format_c = "{:+15f}".format(123.123)
format_d = "{:+015f}".format(123.123)
print(format_a)
print(format_b) 
print(format_c)
print(format_d) 
>>> (좜λ ₯) 123.12300
>>> (좜λ ₯)       123.12300
>>> (좜λ ₯)      +123.12300
>>> (좜λ ₯) +00000123.12300

# μ†Œμˆ˜μ  μ•„λž˜ 자릿수 μ§€μ •ν•˜κΈ°
format_e = "{:15.3f}".format(123.123)
format_f = "{:15.2f}".format(123.123)
format_g = "{:+15.1f}".format(123.123)
print(format_e)
print(format_f) 
print(format_g)
>>> (좜λ ₯)        123.123
>>> (좜λ ₯)         123.12
>>> (좜λ ₯)          123.1

 

2. upper( ) : λŒ€λ¬Έμžλ‘œ λ³€ν™˜

    lower( ) : μ†Œλ¬Έμžλ‘œ λ³€ν™˜

 

3. strip( ) : λ¬Έμžμ—΄ μ–‘μ˜†μ˜ 곡백 제거

 

4. λ¬Έμžμ—΄μ˜ ꡬ성  νŒŒμ•… : is___( )

isalnum( ) λ¬Έμžμ—΄μ΄ μ•ŒνŒŒλ²³ λ˜λŠ” 숫자둜만 κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인
isalpha( ) λ¬Έμžμ—΄μ΄ μ•ŒνŒŒλ²³μœΌλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인
isidentifier( ) λ¬Έμžμ—΄μ΄ μ‹λ³„μžλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” 것인지 확인
isdecimal( ) λ¬Έμžμ—΄μ΄ μ •μˆ˜ ν˜•νƒœμΈμ§€ 확인
isdigit( ) λ¬Έμžμ—΄μ΄ 숫자둜 인식될 수 μžˆλŠ” 것인지 확인
isspace( ) λ¬Έμžμ—΄μ΄ 곡백으둜만 κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인
islower( ) λ¬Έμžμ—΄μ΄ μ†Œλ¬Έμžλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인
isupper( ) λ¬Έμžμ—΄μ΄ λŒ€λ¬Έμžλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ 확인

βœ… 좜λ ₯은 True λ˜λŠ” False

 

5. λ¬Έμžμ—΄ μ°ΎκΈ°

βœ… find( ) : μ™Όμͺ½λΆ€ν„° μ°Ύμ•„μ„œ νŠΉμ • λ¬Έμžκ°€ 처음 λ“±μž₯ν•˜λŠ” μœ„μΉ˜

βœ… rfind( ) : 였λ₯Έμͺ½λΆ€ν„° μ°Ύμ•„μ„œ νŠΉμ • λ¬Έμžκ°€ 처음 λ“±μž₯ν•˜λŠ” μœ„μΉ˜

 

6. λ¬Έμžμ—΄ 포함

βœ… in μ—°μ‚°μž

     >>> print("μ•ˆλ…•" in "μ•ˆλ…•ν•˜μ„Έμš”")

     >>> (좜λ ₯) True

βœ… 좜λ ₯은 True λ˜λŠ” False

 

7. split( ) : λ¬Έμžμ—΄ 자λ₯΄κΈ°

βœ… split

     >>> print("10 20 30".split())

     >>> (좜λ ₯) ['10', '20', '30']