#IT #Python9 [Python] ๋ฌธ์์ด์ ์ ๋ฌ ๋ฐ์์ ๋ฌธ์ ํ๋์ฉ ์ถ์ถํ์ฌ ๋ณํํ๋ ์ดํฐ๋ ์ดํฐ(Iterator) ์์ฑํ๊ธฐ ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค. ๋ฌธ์์ด์ ์ ๋ฌ ๋ฐ์์ ๋ฌธ์ ํ๋์ฉ ์ถ์ถํ์ฌ ๋ณํํ๋ ์ดํฐ๋ ์ดํฐ(Iterator) ์์ฑํ๊ธฐ ### ์ดํฐ๋ ์ดํฐ ํด๋์ค ์์ฑํด์ Hello ๊ฐ ๋จ์ด ์ถ๋ ฅํ๊ธฐ # - ํด๋์ค ์ด๋ฆ : StringIterator # - ์์ ๋ฌธ์์ด์ ๋ฐ์์ ์ฒ๋ฆฌํฉ๋๋ค. # - ์์ ๋ฌธ์์ด์ ์ธ๋ถ์์ ํด๋์ค ์์ฑ์ ๋ฃ์ด์ค๋๋ค. class StringIterator: ### ํด๋์ค ์์ฑ์ def __init__(self, p_text) : # - nextํจ์์์ 1์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ๋ฐ๋ณต ์กฐ๊ฑด์ ์ฌ์ฉํ ๋ณ์ self.index = 0 # - ๋ฐ์์จ ๋ฌธ์์ด self.text = p_text ### ๋ฐ๋ณต์ํ์ ์ํ iter ํจ์ ์ ์ def __iter__(self) : return self ### ํ๊ฑด ํ๊ฑด .. 2023. 11. 18. [Python] ์ดํฐ๋ ์ดํฐ(Iterator)_ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค. ํ์ด์ฌ์์ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด(ํด๋์ค)๋ฅผ ํํํ๋๋ฐ ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค ์ดํฐ๋ ์ดํฐ๋ iter()ํจ์์ next()ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฐ๋ณต(Inerator)์ ์ํ ### ํด๋์ค ์ ์ํ๊ธฐ class MyIterator : ### ํด๋์ค ์์ฑ์ ์ ์ํ๊ธฐ def __init__(self) : self.current_value = 0 print(f"#1(__init__) : self = {self} / self.current_value={self.current_value}") ### ์์ ์ ํด๋์ค๋ฅผ ๋ฐํํ๋ iter ํจ์ ์ ์ def __iter__(self) : print(f"#2(__iter__) : self = {self}") return self ### ๋ฐ๋ณต์ ์ํํ๋ next .. 2023. 11. 17. [Python] ํด๋ก์ (Closure) ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค. - ํจ์ ์์ ํจ์๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ๋ฐฉ์ - ํจ์ ์์ ์๋ ํจ์๋ ๋ฐ๊นฅ์ชฝ ํจ์์์ ์ฐธ์กฐํด์ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํฉ๋๋ค. - ํจ์ ์์ ํจ์๋ ์ฌ์ฉ์ด ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋๊ธฐ ๋๋ฌธ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค. ํด๋ก์ ํจ์ ์ ์ํ๊ธฐ ### ํด๋ก์ ํจ์ ์ ์ํ๊ธฐ def outer_function(x) : print(f"#1 : x = {x}") ### ๋ด๋ถ ํจ์ ์ ์ : ์ค์ ์คํ๋๋ ํจ์ def inner_function(y) : print(f"#2 : y = {y}") s = x + y print(f"#3 : s = {s}") return s print("#4 -------") return inner_function ํด๋ก์ ํจ์ ํธ์ถํ๊ธฐ ### ํด๋ก์ ํจ์ ํธ์ถํ๊ธฐ.. 2023. 11. 14. [Python] ์ ๋์ฝ๋ ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค. - ์ ๋์ฝ๋(Unicode)๋ ์ ์ธ๊ณ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ๊ธฐ ์ํ ํ์ค ์ธ์ฝ๋ฉ ์ฒด๊ณ - ์ ๋์ฝ๋ ํ๋ก๊ทธ๋จ : ์ธ์ด, ๋ฌธ์, ํน์๊ธฐํธ ๋ฑ์ ํ์ค ๋ฌธ์์ด ๊ฒฐํฉํ๊ธฐ ### ๋ฌธ์์ด ๊ฒฐํฉํ๊ธฐ string1 = "ํ์ด์ฌ(python)" string2 = "์ฌ๋ฏธ์์ด์" string3 = "!!!" print(string1 + string2 + string3) ๋ฌธ์์ด์ UTF-8๋ก ์ธ์ฝ๋ฉํ๊ธฐ ### ๋ฌธ์์ด์ UTF-8๋ก ์ธ์ฝ๋ฉํ๊ธฐ text = "์๋ ํ์ธ์" encode_text = text.encode("utf-8") encode_text ๋ฌธ์์ด์ UTF-8๋ก ๋์ฝ๋ฉํ๊ธฐ ### ๋ฌธ์์ด์ UTF-8๋ก ๋์ฝ๋ฉํ๊ธฐ decode_text = encode_text.decode("utf-8") d.. 2023. 11. 14. ์ด์ 1 2 3 ๋ค์