π₯Python
μ ν ν¬ νμ΄μ¬ 05 νμ΄μ¬ λ κ° λ¬κΈ° λμκΉ λ¬Έμ
#1. Calculator ν¨μλ₯Ό μμνλ UpgradeCalculatorλ₯Ό λ§λ€κ³ , κ°μ λΊ μ μλ minus λ©μλ μΆκ°νκΈ° class Calculator: def __init__(self): self.value = 0 def add(self, val): self.value +=val class UpgradeCalculator(Calculator): def minus(self, val): self.value -= val cal = UpgradeCalculator() cal.add(10) cal.minus(7) print("1λ² ",cal.value) #2. κ°μ²΄λ³μ valueκ° 100μ΄μμ κ°μ κ°μ§ μ μλλ‘ μ ννλ MaxLimitCalculator ν΄λμ€ λ§λ€κΈ° (Calculator ν΄λμ€ μ..
νμ΄μ¬ map ν¨μ
map ν¨μ νμ΄μ¬ λ΄μ₯ ν¨μ μ€ νλλ‘, μ¬λ¬ κ°μ iterable(λ°λ³΅ κ°λ₯ν κ°μ²΄)μ λ°μμ νΉμ ν¨μλ₯Ό κ° μμμ μ μ©νμ¬ μλ‘μ΄ iterableμ μμ±ν©λλ€. map(ν¨μ, iterable1, iterable2, ...) map ν¨μλ μλ‘μ΄ map κ°μ²΄λ₯Ό λ°νν©λλ€. μ΄ κ°μ²΄λ iterator(λ°λ³΅μ)μ΄λ©°, νμν λλ§λ€ κ°μ μμ±ν©λλ€. μ§μ° νκ°(lazy evaluation)λΌκ³ λ λΆλ¦¬λ μ΄ λ°©μμ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μκ² ν©λλ€. #리μ€νΈμ κ° μ«μλ₯Ό μ κ³± numbers = [1, 2, 3, 4, 5] #λλ€ν¨μκ° λ¦¬μνΈμ κ° μμμ μ μ©λ κ°μΌλ‘ ꡬμ±λ mapκ°μ²΄ μμ±λ¨ squared_numbers = map(lambda x: x**2, numbers) list(map(.....
νμ΄μ¬ iterableκ³Ό iterator
iterableκ³Ό iterator Iteratorλ κ°μ νλμ© λ°ννλ λ°μ νΉνλμ΄ μκ³ , iterableμ μ¬λ¬ κ°μ κ°μ§ κ°μ²΄λ‘μ λ°λ³΅ κ°λ₯ν νΉμ±μ κ°μ§κ³ μμ΅λλ€. Iterable(λ°λ³΅ κ°λ₯ν κ°μ²΄): λ΄λΆ μμμ λν΄ μν(iterate)ν μ μλ κ°μ²΄λ₯Ό λ§ν©λλ€. for 루νμμ μ¬μ© κ°λ₯νλ©°, in μ°μ°μλ‘ κ°μ μ κ·Ό κ°λ₯ν©λλ€. λ΄μ₯ ν¨μ **iter()**λ₯Ό μ¬μ©νμ¬ iteratorλ‘ λ³νν μ μμ΅λλ€. λνμ μΈ iterable μμλ‘λ 리μ€νΈ, νν, λ¬Έμμ΄μ΄ μμ΅λλ€. my_list = [1, 2, 3, 4, 5] for item in my_list: print(item) Iterator(λ°λ³΅μ): next() λ©μλλ₯Ό μ¬μ©νμ¬ κ°μ μ°¨λ‘λ‘ κ°μ Έμ¬ μ μλ κ°μ²΄λ₯Ό λ§ν©λλ€. ν΄..
νμ΄μ¬ λλ€ ν¨μ(lambda)μ νμ©, μ€μ΅ μμ
λλ€ ν¨μ νμ΄μ¬μμ μ΅λͺ μ ν¨μλ₯Ό λ§λ€κΈ° μν΄ μ¬μ©λλ κ°λ¨ν ν μ€μ§λ¦¬ ν¨μμ λλ€. μ£Όλ‘ κ°λ¨ν μ°μ°μ΄λ ν¨μλ₯Ό μΈλΌμΈμΌλ‘ μ μν λ μ μ©νκ² νμ©λ©λλ€. 볡μ‘ν λ‘μ§μ΄λ μ¬λ¬ μ€μ μ½λλ₯Ό κ°λ ν¨μλ₯Ό μ μν λλ μΌλ°μ μΈ def ν€μλλ₯Ό μ¬μ©νλ ν¨μ μ μκ° λ μ ν©ν©λλ€. lambda ν€μλλ₯Ό μ¬μ©νμ¬ μ μλλ©°, **ννμ**μ ν¨μμ λ°νκ°μ λνλ λλ€. lambda 맀κ°λ³μ: ννμ #μμ add = lambda x, y: x + y result = add(3, 5) print(result) # μΆλ ₯ κ²°κ³Ό: 8 λλ€ ν¨μμ νμ© λ§μ ν¨μ: add = lambda x, y: x + y result = add(3, 5) # κ²°κ³Ό: 8 μ κ³± ν¨μ: square = lambda x: x**2 res..
νμ΄μ¬ sort ν¨μμ λ°νκ°
words.sort(key=lambda x: len(x)): words 리μ€νΈλ₯Ό λ¬Έμμ΄μ κΈΈμ΄λ₯Ό κΈ°μ€μΌλ‘ μ λ ¬νκ³ , κ·Έ κ²°κ³Όλ₯Ό words 리μ€νΈμ μ μ©ν©λλ€. sort λ©μλλ μ λ ¬μ μννκ³ μλμ 리μ€νΈλ₯Ό λ³κ²½νλ―λ‘ λ°νκ°μ΄ μμ΅λλ€. λ°λΌμ **print(words)**λ₯Ό ν΅ν΄ μ λ ¬λ 리μ€νΈλ₯Ό μΆλ ₯νλ©΄ κ²°κ³Όκ° λνλ©λλ€. print(words.sort(key=lambda x: len(x))): sort λ©μλλ₯Ό νΈμΆνκ³ , μ΄ λ©μλμ λ°νκ°μΈ **None**μ μΆλ ₯ν©λλ€. sort λ©μλλ 리μ€νΈλ₯Ό μ λ ¬νκ³ μλμ 리μ€νΈλ₯Ό λ³κ²½νλ©° λ°νκ°μ΄ μμΌλ―λ‘ **None**μ λ°νν©λλ€. λ°λΌμ μ λ ¬λ 리μ€νΈλ₯Ό μ§μ μΆλ ₯νλ κ²μ΄ μλλΌ **None**μ μΆλ ₯ν©λλ€.
μ ν ν¬ νμ΄μ¬ 05 νμ΄μ¬ λ κ° λ¬κΈ° (ν΄λμ€, λͺ¨λ, ν¨ν€μ§, μμΈμ²λ¦¬, λ΄μ₯ν¨μ, νμ€ λΌμ΄λΈλ¬λ¦¬, μΈλΆ λΌμ΄λΈλ¬λ¦¬)
5-1 ν΄λμ€ ν΄λμ€λ μ νμνκ°? κ³μ°κΈ° νλ‘κ·Έλ¨μ λ§λ€λ©° ν΄λμ€ μμ보기 ν΄λμ€λ₯Ό μ¬μ©νλ©΄ ν¨μλ§ μ¬μ©ν λλ³΄λ€ κ°μ²΄λ₯Ό μμ±νμ¬ κ°λ¨νκ² νλ‘κ·Έλ¨μ μμ±ν μ μμ class Calculator: def __init__(self): self.result = 0 def add(self, num): self.result +=num return self.result cal1 = Calculator() cal2 = Calculator() print(cal1.add(3)) print(cal1.add(4)) print(cal2.add(3)) print(cal2.add(7)) ν΄λμ€μ κ°μ²΄ ν΄λμ€(class) : λκ°μ 무μΈκ°λ₯Ό κ³μ λ§λ€μ΄λΌ μ μλ μ€κ³ λλ©΄(κ³Όμν) κ°μ²΄(object) : ν΄λμ€λ‘ λ§λ€μ΄λΈ..
μ€ν¬λ¦½νΈ, λͺ¨λ, μ½λ
μ€ν¬λ¦½νΈ (Script): λ³΄ν΅ κ°λ¨ν μμ μ μννκΈ° μν΄ μ¬μ©λλ μΌλ ¨μ λͺ λ Ήμ΄λ μ½λμ μ§ν© μ€ν¬λ¦½νΈλ λλΆλΆ ν΄μν μΈμ΄ (interpreted language)μμ μ¬μ©λλ©°, λͺ λ Ήμ΄λ₯Ό μμ°¨μ μΌλ‘ μ€ννμ¬ μνλ μμ μ μν μ£Όλ‘ μμ κ·λͺ¨μ μμ μ΄λ μλν μ€ν¬λ¦½νΈλ‘ μ¬μ©λ¨ λͺ¨λ (Module): νλ‘κ·Έλλ°μμ μ½λμ μ¬μ¬μ©μ μν΄ λ§λ€μ΄μ§ λ 립λ λ¨μ μΌλ°μ μΌλ‘ νμΌ λ¨μλ‘ κ΅¬μ±λλ©°, λ€λ₯Έ νλ‘κ·Έλ¨μμ μν¬νΈνμ¬ μ¬μ©ν μ μμ λͺ¨λμ ν¨μ, ν΄λμ€, λ³μ λ±μ ν¬ν¨ν μ μμ νμ΄μ¬μμλ .py νμ₯μλ₯Ό κ°μ§ νμΌμ΄ λͺ¨λμ λνλ μ½λ (Code): μΌλ°μ μΌλ‘ νλ‘κ·Έλλ° μΈμ΄λ‘ μμ±λ λͺ λ Ήμ΄ λλ ννμ "μ½λ"λ νλ‘κ·Έλ¨μ ꡬμ±νλ λͺ¨λ λͺ λ Ήμ΄μ ννμμ ν¬ν¨ν μ μμ "μ€ν¬λ¦½νΈ"λ μΌμ’ ..
if __name__ == "__main__
if name == "main μ€ν¬λ¦½νΈκ° μ§μ μ€νλ λ μ½λ λΈλ‘μ΄ μ€νλλλ‘ νλλ° μ¬μ©λ©λλ€. ν΄λΉ λΈλ‘ μμ μμΉν μ½λλ€μ λͺ¨λλ‘μ λ€λ₯Έ μ€ν¬λ¦½νΈμμ μν¬νΈλμμ λλ μ€νλμ§ μμ΅λλ€. def some_function(): print("Function inside the module") if __name__ == "__main__": # μ΄ λΆλΆμ μ€ν¬λ¦½νΈκ° μ§μ μ€νλ λλ§ μ€νλ¨ print("This script is being run directly") some_function() λ€λ₯Έ μ€ν¬λ¦½νΈμμ μ΄ λͺ¨λμ μν¬νΈνλ©΄ if __name__ == "__main__": λΆλΆμ΄ μ€νλμ§ μκ³ , λͺ¨λ λ΄μ ν¨μ λ±μ μ¬μ©ν μ μλ€. νμ΄μ¬ μ€ν¬λ¦½νΈμ λ κ°μ§ μ£Όμ μ©λ μ§μ μ€νλ λ (as..