์ค๋๋ 9~1์๊น์ง๋ lms๋ก ์์
์ ์งํํ๊ณ , 2์๋ถํฐ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ง๋๋ฅผ ๋๊ฐ๋ค. ์ฐธ๊ณ ๋ก ์ค๋๋ถํฐ ์ฌํ ๊ณผ์ ์์์ด๋ค! ๋ฉ์๋ ์ฒด์ด๋ ๋ง ๊ทธ๋๋ก ์ฌ๋ฌ๊ฐ์ ๋ฉ์๋๋ฅผ ์ด์ด ๋ถ์ฌ ํธ์ถํ๋ ๋ฐฉ์์ด๋ค. ๋ฉ์๋ ์ฒด์ด๋์ ์ฌ์ฉํ ๋ ์ ๋ฉ์๋์ ๋ฐํ๊ฐ(์๋ฃํ)์ ์ฃผ์ํด์ผ ํ๋ค! ๋ฉ์๋ ์ฒด์ด๋์ ๊ธธ๊ฒ ์ฌ์ฉํ๊ธฐ๋ณด๋จ ๋ถ๊ธฐ๋ฌธ(if)๋ฑ์ผ๋ก ๋๋ ์ฃผ๋๊ฒ์ด ๋ซ๋ค. ์๋ฌ์ ์์ธ์ด ๋ฉ์๋์ฒด์ด๋์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ด๋ค. 'hello world'.replace('hello', 'hi') 'hello world'.replace('hello', 'hi').upper() 'hello world'.replace('hello', 'hi').upper().replace('HI', 'HELLOW') # 'hello world'.replace('he..
๐ orm
์ค๋์ ํด๋์ค์ ๋ง์ง๋ง ๋ถ๋ถ๊น์ง ์ง๋๋ฅผ ๋๊ฐ๋ค. ํด๋์ค ๋ฉ์๋ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ ์ฌ์ฉ ์ฒซ๋ฒ์งธ ์ธ์๋ก ์ค๋ cls๋ ๊ณ ์ ๊ฐ์ด๋ค. (self์ ๊ฐ์ ๊ฐ๋
) cls๋ class๋ฅผ ๋ปํจ. class MyClass: count = 0 @classmethod def increment(cls): cls.count += 1` class MyClass: count = 0 @classmethod def increment(cls): cls.count += 1 MyClass.increment() print(MyClass.count) # ์ถ๋ ฅ: 1 ์ ์ ๋ฉ์๋ self๋ก ๋ด๋ถ ๋ณ์์ ์ ๊ทผ์ด ์๋ ๋ ์ฌ์ฉ ์๋ฅผ ๋ค์ด, ์ฑ
ํด๋์ค ์์ ํ ์ธ์จ ํจ์ ๊ฐ์ด ๊ด๋ จ์ ์์ง๋ง ๋ฐ์ผ๋ก ๋นผ๊ธด ๋ถ๋ด์ค๋ฌ์ด ๊ฒ๋ค์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ค. cl..
์ค๋์ 11์๋ถํฐ ์์
์ ์งํํ๋ค. ์ด์ ์ ์ด์ด ํด๋์ค๋ฅผ ์ง์ ๋ง๋ค์ด๋ณด๊ณ , ์ด๋ ํ ์กฐ๊ฑด์์ ์ด๋ ํ ํจ์๊ฐ ํ์ํ์ง ์ค์ต๊ณผ ํจ๊ป ์ค๋ช
ํด์ฃผ์
จ๋ค. ์์ฃผ ์ฐ์ด๋ ํจ์ ๋์ง์ด๋ณด๊ธฐ ํด๋์ค ํด๋์ค ์ด๋ก ์์ ๋ค์ค์์ ํด๋์ค๋ฅผ ์ ์จ์ผ ํ๋๊ฐ? ๋งค์ง๋ฉ์๋ ๋ถ์๊ธฐ ํ๊ธฐ ๊ฒธ ํฌ๋กค๋ง + ํด๋์ค ์ค์ต list, lambda, sorted, map ๋๋ค๋ ์๋ง ์ฌ์ฉํ๋ฉด ์ ๋ง ํธํ๊ฒ๊ฐ๋ค. l = [lambda x, y: x + y, lambda x, y: x - y, lambda x, y: x * y,lambda x, y: x / y] l[0](10, 20) # ์ถ๋ ฅ # 30 ์ ๋ ๊ฒ ๊ฐ ์ธ๋ฑ์ค์ ๋๋ค๋ก ๊ณ์ฐ์์ ๋ฃ์ด์ฃผ๋ฉด ํ์ค๋ก๋ ๋๋๋ค;; sorted(๋ฐ๋ณ์ ์, key = lambda x: (x[1] + x[2] + x[3], ..
์ผ์ด๋์๋ง์ ํซ์ด์ฝ๊ฐ์๊ฑฐ ๋ง์๋ฉด ์์ข๋ค๋๋ฐ... ๋ด ์ท์ฅ ํ์ดํ
! ์ค๋๋ถํฐ๋ ์ดํธ์ค ๊ฐ์ฌ๋์ด ์์
์ ํด์ฃผ์ ๋ค. ์์ฃผ์ฐ์ด๋ ํจ์(๋ฉ์๋)๋ค๊ณผ ํด๋์ค ์์ ๋ฅผ ์ค์ตํด๋ณด๋ฉฐ ์ถ๊ฐ ์ค๋ช
์ ํด์ฃผ์
จ๋ค. ํจ์ lambda map filter sorted ํด๋์ค ํจ์ ์์ง ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ค์ ๋ช๊ฐ ์ง์ด์ฃผ์
จ๋ค. def hello(): ''' DocString ์ฃผ์์ ์ฌ๊ธฐ ๋ต๋๋ค. ๋์ค์ help๋ก ํจ์ ๊ฒ์ํ๋ฉด ์ด ์ค๋ช
๋ฌธ์ด ๋จ๊ฒ ๋จ ''' pass ์ฐธ๊ณ ๋ก ํจ์์ ๋ํ ์ฃผ์์ ์ ๋ ๊ฒ ๋ฌ์์ผ ํ๋ค. ๊ทธ๋์ผ ๋์ค์ help๋ก ํด๋น ํจ์๋ฅผ ๊ฒ์ํ์๋ ๋ฌ์๋์ ์ค๋ช
๋ฌธ(Doc String)์ด ๋ฌ๋ค. ํจ์๋ ํด๋์ค๋ค! type(hello)๋ฅผ ์คํํ๋ฉด class 'function'์ด๋ผ๊ณ ๋ฌ๋ค. ใทใท ๋ ์ ๋ฒ์ ํ์ดํ ๋ฌธ์ ์์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ..
์ค๋๋ ์ถ์ฒ์ ๋๋์ ์ฐ๋๊ธฐ. ์ถ๋ฒ ๋ฆฌ์๋ผ๋ ๋ง์ด ๊ดํ ์๊ธด๊ฒ ์๋๋คใ
์ด์ ์ค๊ฐ๊น์ง ๋๊ฐ๋ while๋ฌธ ๋ค์๋ถํฐ ์ง๋๋ฅผ ๋๊ฐ๋ค. ๋ฐ๋ณต๋ฌธ Break / Continue / Pass ๋ฐ๋ณต๋ฌธ์์์ else ํด๋์ค ํด๋์ค ํด๋์ค๋ณ์์ ์ธ์คํด์ค๋ณ์ ์์ธ์ฒ๋ฆฌ์ ์ค๋ฅ๊ด๋ฆฌ ๋ฐ๋ณต๋ฌธ Break / Continue / Pass break : ๋ฐ๋ณต๋ฌธ์ ์ฆ์ ์ข
๋ฃ. (๐จ์ฃผ์: ๋ฐ๋ก ์์ ๋ฐ๋ณต๋ฌธ(for / while)๋ง ํ์ถํ๋ค.) for i in range(10): if i == 5: # ๋ง์ฝ์ i๊ฐ 5๋ฉด ์ ์ง์์ผ๋ผ! break # 0๋ถํฐ 5๊น์ง๋ง ์ถ๋ ฅํ๊ณ ๋๋จธ์ง๋ ์ถ๋ ฅํ์ง ์๊ฒ ๋ค. # break๋ ์ฝ๋๋ธ๋ก์ฒ๋ผ 4์นธ ๋์์ ์
๋ ฅํด์ผํจ! print(i) ์ด์ ํ๋ ์ค๋ฌด๊ณ ๊ฐ ์ซ์ ํ๋ก๊ทธ๋จ๋ break๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํ ์ ์์๋ค...
์ค๋ ์ผ์ด๋๋๊น ๋๋์ ์ฐ๋๊ธฐ๊ฐ ๋์ด์์๋ค. ๋์ด ๋ฌด์งํ๊ฒ ๋ด๋ฆฐ๋ค. ์ฃผ๋ง์ ์ ์ ๋ชป ์ ํ์ ์ฆ์ด ์์ง๋ ๋จ์์๋ค... ์ด๋์ ํ๊ธด ํด์ผํ ๋ฏใ
์ค๋์ ์กฐ๊ฑด๋ฌธ๋ถํฐ ๋ฐ๋ณต๋ฌธ ์ค๊ฐ๊น์ง ๋๊ฐ๋ค. ์กฐ๊ฑด๋ฌธ if / elif / else ์ค์ฒฉ ์กฐ๊ฑด๋ฌธ ๋ฐ๋ณต๋ฌธ for๋ฌธ ์ค์ฒฉ for๋ฌธ ์ปดํ๋ฆฌํจ์
๋ณตํฉ ์๋ฃํ ์ํ while๋ฌธ ์กฐ๊ฑด๋ฌธ if๋ฌธ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ด๋ค. if (์กฐ๊ฑด์): ์คํํ ๋ฌธ์ฅ ์กฐ๊ฑด์์ ๊ฐ์ด True๋ฉด ์๋์ ์ฝ๋๋ฅผ ์คํํ๊ณ , False๋ฉด ์คํํ์ง ์๋๋ค. ์ฌ์ค ์ง๋๋ ์ค๋ ๋๊ฐ์ง๋ง ์ฐ์ต๋ฌธ์ ํ์ดํ ๋ ๋ช๋ฒ ์ผ๋ํฐ๋ผ ์ด๋ ต์ง ์์๋ค. (์กฐ๊ฑด์)์ `0`์ด๊ฑฐ๋ `""`์ ๊ฐ์ด ๊ฐ์ด ์๋ ์ํ๋ง ์๋๋ผ๋ฉด True๋ก ์ฒ๋ฆฌ๋๋ค. (`None`์ False) ์ผํญ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ํ ์ค๋ก ํํํ ์๋ ์๋ค. x = 5 y..