ํ๋ก๊ทธ๋๋ฐ ์ธ์ด67 ํ์ด์ฌ 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. ํ์ด์ฌ ์ ์ถ๋ ฅ(ํ์ค, ํ์ผ ๋ฑ)์ ๋ชจ๋ ๊ฒ ๋ค์ด๊ฐ๋ฉฐ ์ ์ถ๋ ฅ์ ์ข ๋ฅ ๋ฐ ํ์ค ์ ์ถ๋ ฅ, ํ์ผ ์ ์ถ๋ ฅ์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ค๋ช ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. [C++] 13-1. ์ ์ถ๋ ฅ(feat. ํ์ค์ ์ถ๋ ฅ๊ณผ ํ์ผ์ ์ถ๋ ฅ) โ ์คํธ๋ฆผ ์คํธ๋ฆผ์ ํ๋์ ํ๋ฆ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์๋๊ผญ์ง๋ฅผ ํ์ด๋๊ณ ๋ค๋ชจ๋ ํธ์ค๋ฅผ ๋ผ์ฐ๋ฉด ๋ฌผ์ด ๋ค๋ชจ ๋ชจ์์ผ๋ก ๋์ค๊ณ , ๋๊ทธ๋ ํธ์ค๋ฅผ ๋ผ์ฐ๋ฉด ๋๊ทธ๋๊ฒ ๋์จ๋ค. ์ด์์ฒด์ ๊ฐ ๋ฌผ์ ๊ณต๊ธ ground90.tistory.com ํ์ค ์ ์ถ๋ ฅ input >>>> a = input("์ ๋ ฅํ์ธ์: ") # ์ ๋ ฅ ์ ๋ ฅํ์ธ์: abc >>>> print(a) 'abc' output # ํฐ๋ฐ์ดํ ์ฌ๋ฌ๊ฐ print >>>> print("Let" "it" "be") 'Letitbe' >>>> print("Let"+"it"+"be") 'Letit.. 2023. 12. 5. ์ด์ 1 2 3 4 5 6 ยทยทยท 12 ๋ค์