λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

전체보기114

파이썬 νŒ¨ν‚Ή(packing)κ³Ό μ–ΈνŒ¨ν‚Ή(unpacking)의 λͺ¨λ“  것 였늘 μ†Œκ°œν•˜λŠ” νŒ¨ν‚Ήκ³Ό μ–ΈνŒ¨ν‚Ήμ€ λ°μ΄ν„°λ³΄λ‹€λŠ” ν•¨μˆ˜ 호좜의 인자(Arguments) μ€‘μ‹¬μœΌλ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€. νŒ¨ν‚Ή(Packing) printν•¨μˆ˜λŠ” 좜λ ₯ν•˜κ³ μž ν•˜λŠ” μΈμžκ°€ λͺ‡ κ°œλ“  간에 μƒκ΄€ν•˜μ§€ μ•Šκ³  좜λ ₯ν•΄ μ€λ‹ˆλ‹€. print("Hello") print("He", "llo") print("He", "ll", "o") # Hello # Hello # Hello ν•¨μˆ˜κ°€ 받을 인자의 개수λ₯Ό 정해놓지 μ•Šμ•˜μ„ λ•Œ(κ°€λ³€ 인자), μž…λ ₯받은 μΈμžλ“€μ„ μ–΄λ–»κ²Œ 관리해야 ν• κΉŒμš”? λ°”λ‘œ packingμ΄λΌλŠ” κ°œλ…μœΌλ‘œ κ΄€λ¦¬ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. νŒ¨ν‚Ήμ€ 인자둜 받은 μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜μ˜ 객체둜 ν•©μ³μ„œ 받을 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. κ°€λ³€μΈμž νŒ¨ν‚Ήμ€ *ν•œ 개λ₯Ό λ§€κ°œλ³€μˆ˜ μ•žμ— λΆ™μž„μœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€. def func(*args): print(args) pri.. 2023. 12. 17.
파이썬 map, filter ν•¨μˆ˜(with. iterator) iterator(반볡자) νŒŒμ΄μ¬μ—μ„œ iterator(반볡자)λŠ” 순회 κ°€λŠ₯ν•œ 객체λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°œλ…μž…λ‹ˆλ‹€. IteratorλŠ” __iter__와 __next__ λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•œ 객체둜, __iter__λŠ” 자기 μžμ‹ μ„ λ°˜ν™˜ν•˜κ³ , __next__λŠ” λ‹€μŒ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μ΄λ•Œ, 더 이상 λ°˜ν™˜ν•  값이 없을 λ•Œ StopIteration μ˜ˆμ™Έλ₯Ό λ°œμƒμ‹œμΌœ 순회λ₯Ό μ’…λ£Œν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, κ°„λ‹¨ν•œ iteratorλ₯Ό κ΅¬ν˜„ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€ class MyIterator: def __init__(self, start, end): self.start = start self.end = end def __iter__(self): return self def __next__(self): if self.start >= self.end: rai.. 2023. 12. 17.
파이썬 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜, λ”•μ…”λ„ˆλ¦¬ μ»΄ν”„λ¦¬ν—¨μ…˜μ˜ λͺ¨λ“  것 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜(List Comprehension) 파이썬 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜μ€ κ°„κ²°ν•˜κ²Œ 리슀트λ₯Ό μƒμ„±ν•˜λŠ” 방법 쀑 ν•˜λ‚˜λ‘œ, 반볡문과 쑰건문을 μ‚¬μš©ν•˜μ—¬ 리슀트λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜μ€ μ½”λ“œλ₯Ό κ°„κ²°ν•˜κ²Œ μœ μ§€ν•˜λ©΄μ„œλ„ κ°•λ ₯ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 일반적인 리슀트 μ»΄ν”„λ¦¬ν—¨μ…˜μ˜ κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€: [ν‘œν˜„μ‹ for ν•­λͺ© in iterable if 쑰건] - ν‘œν˜„μ‹: 각 ν•­λͺ©μ— λŒ€ν•œ 계산식 λ˜λŠ” ν‘œν˜„μ‹μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. - ν•­λͺ©: 반볡 κ°€λŠ₯ν•œ(iterable) κ°μ²΄μ—μ„œ κ°€μ Έμ˜¨ κ°’μž…λ‹ˆλ‹€. - iterable: 반볡 κ°€λŠ₯ν•œ 객체(리슀트, νŠœν”Œ, λ¬Έμžμ—΄ λ“±)λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. - 쑰건: μ„ νƒμ μœΌλ‘œ 포함할 쑰건을 μ§€μ •ν•©λ‹ˆλ‹€. 쑰건은 ν•„μš”μ— 따라 μƒλž΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 0λΆ€ν„° 9κΉŒμ§€μ˜ 숫자 μ€‘μ—μ„œ 짝수.. 2023. 12. 12.
파이썬 μŠ€νŽ˜μ…œ λ©”μ„œλ“œμ˜ λͺ¨λ“  것(__init__, __str__, __len__ λ“±) νŒŒμ΄μ¬μ—μ„œ μŠ€νŽ˜μ…œ λ©”μ„œλ“œ(λ˜λŠ” 맀직 λ©”μ„œλ“œ)λŠ” 이쀑 μ–Έλ”μŠ€μ½”μ–΄λ‘œ λ‘˜λŸ¬μ‹ΈμΈ 이름을 가지며, 객체의 νŠΉμ • λ™μž‘μ„ μ •μ˜ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ©”μ„œλ“œλ“€μ€ ν΄λž˜μŠ€μ— μ •μ˜λ˜λ©°, λ‚΄μž₯ ν•¨μˆ˜λ‚˜ μ—°μ‚°μž λ“±κ³Ό μƒν˜Έ μž‘μš©ν•˜λ„λ‘ μ„€κ³„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ λͺ‡ 가지 μ£Όμš” μŠ€νŽ˜μ…œ λ©”μ„œλ“œμ˜ μ’…λ₯˜μ™€ μ˜ˆμ‹œμž…λ‹ˆλ‹€. 1. __init__(self, ...): 객체가 생성될 λ•Œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλ‘œ, μ΄ˆκΈ°ν™”λ₯Ό λ‹΄λ‹Ήν•©λ‹ˆλ‹€. class MyClass: def __init__(self, x): self.x = x obj = MyClass(10) 2. __str__(self), __repr__(self): 객체λ₯Ό λ¬Έμžμ—΄λ‘œ ν‘œν˜„ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€. class MyClass: def __init__(self, x): self.x = x d.. 2023. 12. 11.
파이썬 μ˜ˆμ™Έμ²˜λ¦¬(Exception)의 λͺ¨λ“  것 λŒ€ν‘œμ μΈ μ˜ˆμ™Έ 상황 ν”νžˆ λ°œμƒν•˜λŠ” μ˜ˆμ™Έμƒν™©μ„ κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. μ—†λŠ” 파일 μ—΄κΈ° >>> f = open("abc.txt", 'r') Traceback (most recent call last): File "", line 1, in FileNotFoundError: [Errno 2] No such file or directory: 'abc.txt' Zero division >>> 4 / 0 Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero index error >>> a = [1, 2, 3] >>> a[3] Traceback (most recent call last): File "", lin.. 2023. 12. 10.
파이썬 λͺ¨λ“ˆκ³Ό νŒ¨ν‚€μ§€μ˜ λͺ¨λ“  것 λͺ¨λ“ˆ λͺ¨λ“ˆμ€ λ‹€λ₯Έ νŒŒμΌμ—μ„œ μ •μ˜ν•œ λ³€μˆ˜ 및 ν•¨μˆ˜λ“€μ„ λΆˆλŸ¬μ˜€λŠ” 것을 λœ»ν•©λ‹ˆλ‹€. import mod print(mod.add(3,4)) from λͺ¨λ“ˆ_이름 import λͺ¨λ“ˆ_ν•¨μˆ˜ ν˜•νƒœλ‘œ λͺ¨λ“ˆ 이름 없이 ν•¨μˆ˜ μ΄λ¦„μœΌλ‘œλ§Œ ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. from mod import add add(3,4) # λͺ¨λ“ˆ 이름 없이 ν•¨μˆ˜ μ΄λ¦„μœΌλ‘œλ§Œ μ‚¬μš© from λͺ¨λ“ˆ_이름 import * ν˜•νƒœλ‘œ ν•΄λ‹Ή λͺ¨λ“ˆ μ•ˆμ˜ λͺ¨λ“  ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ νŽΈν•˜λ‹€κ³  import *λ‘œλŠ” 쓰지 μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.(항상 λͺ…μ‹œμ  호좜이 κ°€μž₯ 쒋은 ν˜•νƒœμž…λ‹ˆλ‹€) from mod import * add(3,4) # import *λŠ” mod 파일의 λͺ¨λ“  ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 있음 if __name __ = “main” # mod.py def add(a.. 2023. 12. 9.