Pythonic Code
์ ๋ฐฐ์ฐ๋?
โข
๋จ ์ฝ๋์ ๋ํ ์ดํด๋
โฆ
๋ง์ ๊ฐ๋ฐ์๋ค์ด ํ์ด์ฌ ์คํ์ผ๋ก ์ฝ๋ฉํ๋ค
โข
ํจ์จ
โฆ
๋จ์ for loop append๋ณด๋ค list๊ฐ ์กฐ๊ธ ๋ ๋น ๋ฅด๋ค
โฆ
์ต์ํด์ง๋ฉด ์ฝ๋๋ ์งง์์ง๋ค
โข
์ฐ๋ฉด ์ ์ง ์ฝ๋ ์ ์ง๋ ๊ฒ ์ฒ๋ผ ๋ณด์ธ๋ค
Split & Join
Split ํจ์
โข
string type์ ๊ฐ์ โ๊ธฐ์ค๊ฐ"์ผ๋ก ๋๋ ์ List ํํ๋ก ๋ณํ
List Comprehension
โข
๊ธฐ์กด List ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ๋ค๋ฅธ List๋ฅผ ๋ง๋๋ ๊ธฐ๋ฒ
โข
ํฌ๊ด์ ์ธ List, ํฌํจ๋๋ ๋ฆฌ์คํธ๋ผ๋ ์๋ฏธ๋ก ์ฌ์ฉ๋จ
โข
ํ์ด์ฌ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ ์ค ํ๋
โข
์ผ๋ฐ์ ์ผ๋ก for + append ๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๋ค
enumerate & zip
โข
enumerate : list์ element ๋ฅผ ์ถ์ถํ ๋ ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ์ถ์ถ
โข
zip : ๋ ๊ฐ์ list์ ๊ฐ์ ๋ณ๋ ฌ์ ์ผ๋ก ์ถ์ถํจ
Lambda & Map & Reduce
Lambda
โข
ํจ์ ์ด๋ฆ ์์ด, ํจ์์ฒ๋ผ ์ธ ์ ์๋ ์ต๋ช
ํจ์
โข
์ํ์ ๋๋ค ๋์์์ ์ ๋ํจ
Map
โข
๋ ๊ฐ ์ด์์ list์๋ ์ ์ฉ ๊ฐ๋ฅํจ
โข
if filter ๋ ์ฌ์ฉ๊ฐ๋ฅ
โข
python3 ๋ iteration์ ์์ฑ โ list์ ๋ถ์ฌ์ค์ผ list ์ฌ์ฉ๊ฐ๋ฅ
โข
์คํ์์ ์ ๊ฐ์ ์์ฑ, ๋ฉ๋ชจ๋ฆฌ ํจ์จ์
Reduce
โข
map function ๊ณผ ๋ฌ๋ฆฌ list์ ๋๊ฐ์ ํจ์๋ฅผ ์ ์ฉํด์ ํตํฉ
โข
๋ฅ๋ฌ๋์์ ๋ง์ด ์ฌ์ฉ
Iterable objects
โข
Sequenceํ ์๋ฃํ์์ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์ถ์ถํ๋ object
โข
๋ด๋ถ์ ๊ตฌํ์ผ๋ก __ iter __ ์ __ next __ ๊ฐ ์ฌ์ฉ๋๋ค
โข
iter() ์ next() ํจ์๋ก iterable ๊ฐ์ฒด๋ฅผ iterator object๋ก ์ฌ์ฉ
generator
โข
iterable object๋ฅผ ํน์ํ ํํ๋ก ์ฌ์ฉํด์ฃผ๋ ํจ์
โข
element๊ฐ ์ฌ์ฉ๋๋ ์์ ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐํ
: yield๋ฅผ ์ฌ์ฉํด ํ๋ฒ์ ํ๋์ element ๋ง ๋ฐํํ๋ค
โข
list comprehension ๊ณผ ์ ์ฌํ ํํ๋ก generator ํํ์ list ์์ฑ
โข
generator expression ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก๋ ๋ถ๋ฅธ๋ค
โข
[ ] ๋์ () ๋ฅผ ์ฌ์ฉํ์ฌ ํํ
์ ์ฌ์ฉ?
โข
์ผ๋ฐ์ ์ธ iterator๋ generator์ ๋ฐํด ํจ์ฌ ํฐ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋ ์ฌ์ฉ
์ธ์ ์ฌ์ฉ?
โข
list ํ์
์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ฃผ๋ ํจ์๋ generator๋ก ๋ง๋ค์ด๋ผ!
โฆ
์ฝ๊ธฐ ์ฌ์ด ์ฅ์ , ์ค๊ฐ ๊ณผ์ ์์ loop ์ด ์ค๋จ๋ ์ ์์ ๋!
โข
ํฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋๋ Generator expression์ ๊ณ ๋ คํ๋ผ
โฆ
๋ฐ์ดํฐ๊ฐ ์ปค๋ ์ฒ๋ฆฌ์ ์ด๋ ค์์ด ์์
โข
ํ์ผ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋๋ generator ๋ฅผ ์ฐ์
function passing arguments
โข
ํจ์์ ์
๋ ฅ๋๋ arguments ์ ๋ค์ํ ํํ
1.
Keyword arguments
โข
ํจ์์ ์
๋ ฅ๋๋ parameter์ ๋ณ์๋ช
์ ์ฌ์ฉ, arguments ๋ฅผ ๋๊น
2.
Default arguments
โข
parameter์ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ, ์
๋ ฅํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ ์ถ๋ ฅ
3.
Variable-length asterisk
โข
๊ฐ๋ณ์ธ์ using asterisk
โข
๊ฐ๋ณ์ธ์
โฆ
๊ฐ์๊ฐ ์ ํด์ง์ง ์์ ๋ณ์๋ฅผ ํจ์์ parameter๋ก ์ฌ์ฉํ๋ ๋ฒ
โฆ
Keyword arguments ์ ํจ๊ป, argument ์ถ๊ฐ๊ฐ ๊ฐ๋ฅ
โฆ
Asterisk(*) ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์์ parameter ๋ฅผ ํ์ํจ
โฆ
์
๋ ฅ๋ ๊ฐ์ tuple type ์ผ๋ก ์ฌ์ฉํ ์ ์์
โฆ
๊ฐ๋ณ์ธ์๋ ์ค์ง ํ ๊ฐ๋ง ๋งจ ๋ง์ง๋ง parameter ์์น์ ์ฌ์ฉ๊ฐ๋ฅ
โฆ
๊ฐ๋ณ์ธ์๋ ์ผ๋ฐ์ ์ผ๋ก *args ๋ฅผ ๋ณ์๋ช
์ผ๋ก ์ฌ์ฉ
โฆ
๊ธฐ์กด parameter ์ดํ์ ๋์ค๋ ๊ฐ์ tuple๋ก ์ ์ฅํจ
Keyword variable-length (ํค์๋ ๊ฐ๋ณ์ธ์)
โข
Parameter ์ด๋ฆ์ ๋ฐ๋ก ์ง์ ํ์ง ์๊ณ ์
๋ ฅํ๋ ๋ฐฉ๋ฒ
โข
asterisk(*) ๋๊ฐ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์์ parameter ๋ฅผ ํ์ํจ
โข
์
๋ ฅ๋ ๊ฐ์ dict type์ผ๋ก ์ฌ์ฉํ ์ ์์
โข
๊ฐ๋ณ์ธ์๋ ์ค์ง ํ๊ฐ๋ง ๊ธฐ์กด ๊ฐ๋ณ์ธ์ ๋ค์์ ์ฌ์ฉ
โข
๋จธ์ ๋ฌ๋์์ ๋ง์ด ์ฌ์ฉ
asterisk
โข
ํํ ์๊ณ ์๋ * ๋ฅผ ์๋ฏธํ๋ค
โข
๋จ์๊ณฑ์
, ์ ๊ณฑ์ฐ์ฐ, ๊ฐ๋ณ์ธ์ ํ์ฉ ๋ฑ ๋ค์ํ๊ฒ ์ฌ์ฉ๋๋ค
asterisk - unpacking a container
โข
tuple, dict ๋ฑ ์๋ฃํ์ ๋ค์ด๊ฐ ์๋ ๊ฐ์ unpacking
โข
ํจ์์ ์
๋ ฅ๊ฐ, zip ๋ฑ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๊ฐ๋ฅ