ํ์ด์ฌ๋ค์ด ๋ฐฉ์์ผ๋ก ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐฉ๋ฒ, ํ์ด์ฌ์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ํ ํต์ฐฐ์ ๋ด์๋ค! 2ํ์์๋ ํ์ด์ฌ 3.8๊น์ง ์ด๋ฅด๋ ํ์ด์ฌ 3์๋ง ์ด์ ์ ๋ง์ท์ผ๋ฉฐ, 1ํ์ ๋ชจ๋ ๋ด์ฉ์ ๊ฒํ ํ๊ณ ๋๋ถ๋ถ์ ๋ด์ฉ์ ์์ ํ๊ณ ๊ฐฑ์ ํ๋ค. ๋ํ, ํ์ด์ฌ 3์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ๋ด์ฉ์ ์ถฉ๋ถํ ๋ณด๊ฐํ๋ค. ์ฑ ์์ ๋ด๊ธด 90๊ฐ์ง Better way๋ฅผ ํตํด ๋ฌด์์ ํ๊ณ ๋ฌด์์ ํ์ง ๋ง์์ผ ํ ์ง, ์ด ๋ฐฉ๋ฒ์ด ์ ์ต์ ์ธ์ง ์ดํดํ๋ฉด์ ์์ ์ ์ฝ๋๋ฅผ ํฅ์์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ ์ต๋ํ์!
1์ฅ. ํ์ด์ฌ๋ต๊ฒ ์๊ฐํ๊ธฐ
Better way 1 ์ฌ์ฉ ์ค์ธ ํ์ด์ฌ์ ๋ฒ์ ์ ์์๋๋ผ
Better way 2 PEP 8 ์คํ์ผ ๊ฐ์ด๋๋ฅผ ๋ฐ๋ฅด๋ผ
Better way 3 bytes์ str์ ์ฐจ์ด๋ฅผ ์์๋๋ผ
Better way 4 C ์คํ์ผ ํ์ ๋ฌธ์์ด์ str.format๊ณผ ์ฐ๊ธฐ๋ณด๋ค๋ f-๋ฌธ์์ด์ ํตํ ์ธํฐํด๋ ์ด์
์ ์ฌ์ฉํ๋ผ
Better way 5 ๋ณต์กํ ์์ ์ฐ๋ ๋์ ๋์ฐ๋ฏธ ํจ์๋ฅผ ์์ฑํ๋ผ
Better way 6 ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๋์ ๋์
์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ธํจํนํ๋ผ
Better way 7 range๋ณด๋ค๋ enumerate๋ฅผ ์ฌ์ฉํ๋ผ 066
Better way 8 ์ฌ๋ฌ ์ดํฐ๋ ์ดํฐ์ ๋ํด ๋๋ํ ๋ฃจํ๋ฅผ ์ํํ๋ ค๋ฉด zip์ ์ฌ์ฉํ๋ผ
Better way 9 for๋ while ๋ฃจํ ๋ค์ else ๋ธ๋ก์ ์ฌ์ฉํ์ง ๋ง๋ผ
Better way 10 ๋์
์์ ์ฌ์ฉํด ๋ฐ๋ณต์ ํผํ๋ผ
2์ฅ. ๋ฆฌ์คํธ์ ๋์ ๋๋ฆฌ
Better way 11 ์ํ์ค๋ฅผ ์ฌ๋ผ์ด์ฑํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ผ
Better way 12 ์คํธ๋ผ์ด๋์ ์ฌ๋ผ์ด์ค๋ฅผ ํ ์์ ํจ๊ป ์ฌ์ฉํ์ง ๋ง๋ผ
Better way 13 ์ฌ๋ผ์ด์ฑ๋ณด๋ค๋ ๋๋จธ์ง๋ฅผ ๋ชจ๋ ์ก์๋ด๋ ์ธํจํน์ ์ฌ์ฉํ๋ผ
Better way 14 ๋ณต์กํ ๊ธฐ์ค์ ์ฌ์ฉํด ์ ๋ ฌํ ๋๋ key ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ผ
Better way 15 ๋์
๋๋ฆฌ ์ฝ์
์์์ ์์กดํ ๋๋ ์กฐ์ฌํ๋ผ
Better way 16 in์ ์ฌ์ฉํ๊ณ ๋์
๋๋ฆฌ ํค๊ฐ ์์ ๋ KeyError๋ฅผ ์ฒ๋ฆฌํ๊ธฐ๋ณด๋ค๋ get์ ์ฌ์ฉํ๋ผ
Better way 17 ๋ด๋ถ ์ํ์์ ์์๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ ๋๋ setdefault๋ณด๋ค defaultdict๋ฅผ ์ฌ์ฉํ๋ผ
Better way 18 __missing__์ ์ฌ์ฉํด ํค์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ํดํธ ๊ฐ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋๋ผ
3์ฅ. ํจ์
Better way 19 ํจ์๊ฐ ์ฌ๋ฌ ๊ฐ์ ๋ฐํํ๋ ๊ฒฝ์ฐ ์ ๋๋ก ๋ค ๊ฐ ์ด์์ ์ธํจํนํ์ง ๋ง๋ผ
Better way 20 None์ ๋ฐํํ๊ธฐ๋ณด๋ค๋ ์์ธ๋ฅผ ๋ฐ์์์ผ๋ผ
Better way 21 ๋ณ์ ์์ญ๊ณผ ํด๋ก์ ์ ์ํธ์์ฉ ๋ฐฉ์์ ์ดํดํ๋ผ
Better way 22 ๋ณ์ ์์น ์ธ์๋ฅผ ์ฌ์ฉํด ์๊ฐ์ ์ธ ์ก์์ ์ค์ฌ๋ผ
Better way 23 ํค์๋ ์ธ์๋ก ์ ํ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ผ
Better way 24 None๊ณผ ๋
์คํธ๋ง์ ์ฌ์ฉํด ๋์ ์ธ ๋ํดํธ ์ธ์๋ฅผ ์ง์ ํ๋ผ
Better way 25 ์์น๋ก๋ง ์ธ์๋ฅผ ์ง์ ํ๊ฒ ํ๊ฑฐ๋ ํค์๋๋ก๋ง ์ธ์๋ฅผ ์ง์ ํ๊ฒ ํด์ ํจ์ ํธ์ถ์ ๋ช
ํํ๊ฒ ๋ง๋ค๋ผ
Better way 26 functools.wrap์ ์ฌ์ฉํด ํจ์ ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ ์ํ๋ผ
4์ฅ. ์ปดํ๋ฆฌํจ์ ๊ณผ ์ ๋๋ ์ดํฐ
Better way 27 map๊ณผ filter ๋์ ์ปดํ๋ฆฌํจ์
์ ์ฌ์ฉํ๋ผ
Better way 28 ์ปดํ๋ฆฌํจ์
๋ด๋ถ์ ์ ์ด ํ์ ์์ ์ธ ๊ฐ ์ด์ ์ฌ์ฉํ์ง ๋ง๋ผ
Better way 29 ๋์
์์ ์ฌ์ฉํด ์ปดํ๋ฆฌํจ์
์์์ ๋ฐ๋ณต ์์
์ ํผํ๋ผ
Better way 30 ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ๊ธฐ๋ณด๋ค๋ ์ ๋๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ผ
Better way 31 ์ธ์์ ๋ํด ์ดํฐ๋ ์ด์
ํ ๋๋ ๋ฐฉ์ด์ ์ด ๋ผ๋ผ
Better way 32 ๊ธด ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
๋ณด๋ค๋ ์ ๋๋ ์ดํฐ ์์ ์ฌ์ฉํ๋ผ
Better way 33 yield from์ ์ฌ์ฉํด ์ฌ๋ฌ ์ ๋๋ ์ดํฐ๋ฅผ ํฉ์ฑํ๋ผ
Better way 34 send๋ก ์ ๋๋ ์ดํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ์
ํ์ง ๋ง๋ผ
Better way 35 ์ ๋๋ ์ดํฐ ์์์ throw๋ก ์ํ๋ฅผ ๋ณํ์ํค์ง ๋ง๋ผ
Better way 36 ์ดํฐ๋ ์ดํฐ๋ ์ ๋๋ ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋๋ itertools๋ฅผ ์ฌ์ฉํ๋ผ
5์ฅ. ํด๋์ค์ ์ธํฐํ์ด์ค
Better way 37 ๋ด์ฅ ํ์
์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋ดํฌ์ํค๊ธฐ๋ณด๋ค๋ ํด๋์ค๋ฅผ ํฉ์ฑํ๋ผ
Better way 38 ๊ฐ๋จํ ์ธํฐํ์ด์ค์ ๊ฒฝ์ฐ ํด๋์ค ๋์ ํจ์๋ฅผ ๋ฐ์๋ผ
Better way 39 ๊ฐ์ฒด๋ฅผ ์ ๋๋ฆญํ๊ฒ ๊ตฌ์ฑํ๋ ค๋ฉด @classmethod๋ฅผ ํตํ ๋คํ์ฑ์ ํ์ฉํ๋ผ
Better way 40 super๋ก ๋ถ๋ชจ ํด๋์ค๋ฅผ ์ด๊ธฐํํ๋ผ
Better way 41 ๊ธฐ๋ฅ์ ํฉ์ฑํ ๋๋ ๋ฏน์ค์ธ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ผ
Better way 42 ๋น๊ณต๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ๋ณด๋ค๋ ๊ณต๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ์ฌ์ฉํ๋ผ
Better way 43 ์ปค์คํ
์ปจํ
์ด๋ ํ์
์ collections.abc๋ฅผ ์์ํ๋ผ
6์ฅ. ๋ฉํํด๋์ค์ ์ ํธ๋ฆฌ๋ทฐํธ
Better way 44 ์ธํฐ์ ๊ฒํฐ ๋ฉ์๋ ๋์ ํ๋ฒํ ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ์ฌ์ฉํ๋ผ
Better way 45 ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ๋ฆฌํฉํฐ๋งํ๋ ๋์ @property๋ฅผ ์ฌ์ฉํ๋ผ
Better way 46 ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ @property ๋ฉ์๋๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋์คํฌ๋ฆฝํฐ๋ฅผ ์ฌ์ฉํ๋ผ
Better way 47 ์ง์ฐ ๊ณ์ฐ ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ํ์ํ๋ฉด __getattr__, __getattribute__, __setattr__์ ์ฌ์ฉํ๋ผ
Better way 48 __init_subclass__๋ฅผ ์ฌ์ฉํด ํ์ ํด๋์ค๋ฅผ ๊ฒ์ฆํ๋ผ
Better way 49 __init_subclass__๋ฅผ ์ฌ์ฉํด ํด๋์ค ํ์ฅ์ ๋ฑ๋กํ๋ผ
Better way 50 __set_name__์ผ๋ก ํด๋์ค ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ํ์ํ๋ผ
Better way 51 ํฉ์ฑ ๊ฐ๋ฅํ ํด๋์ค ํ์ฅ์ด ํ์ํ๋ฉด ๋ฉํํด๋์ค๋ณด๋ค๋ ํด๋์ค ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ผ
7์ฅ. ๋์์ฑ๊ณผ ๋ณ๋ ฌ์ฑ
Better way 52 ์์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด subprocess๋ฅผ ์ฌ์ฉํ๋ผ
Better way 53 ๋ธ๋กํน I/O์ ๊ฒฝ์ฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ณ ๋ณ๋ ฌ์ฑ์ ํผํ๋ผ
Better way 54 ์ค๋ ๋์์ ๋ฐ์ดํฐ ๊ฒฝํฉ์ ํผํ๊ธฐ ์ํด Lock์ ์ฌ์ฉํ๋ผ
Better way 55 Queue๋ฅผ ์ฌ์ฉํด ์ค๋ ๋ ์ฌ์ด์ ์์
์ ์กฐ์จํ๋ผ
Better way 56 ์ธ์ ๋์์ฑ์ด ํ์ํ ์ง ์ธ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋๋ผ
Better way 57 ์๊ตฌ์ ๋ฐ๋ผ ํฌ์์์ ์งํํ๋ ค๋ฉด ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ์ง ๋ง๋ผ
Better way 58 ๋์์ฑ๊ณผ Queue๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ๋ฆฌํฉํฐ๋งํด์ผ ํ๋์ง ์ดํดํ๋ผ
Better way 59 ๋์์ฑ์ ์ํด ์ค๋ ๋๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ ThreadpoolExecutor๋ฅผ ์ฌ์ฉํ๋ผ
Better way 60 I/O๋ฅผ ํ ๋๋ ์ฝ๋ฃจํด์ ์ฌ์ฉํด ๋์์ฑ์ ๋์ฌ๋ผ
Better way 61 ์ค๋ ๋๋ฅผ ์ฌ์ฉํ I/O๋ฅผ ์ด๋ป๊ฒ asyncio๋ก ํฌํ
ํ ์ ์๋์ง ์์๋๋ผ
Better way 62 asyncio๋ก ์ฝ๊ฒ ์ฎ๊ฒจ๊ฐ ์ ์๋๋ก ์ค๋ ๋์ ์ฝ๋ฃจํด์ ํจ๊ป ์ฌ์ฉํ๋ผ
Better way 63 ์๋ต์ฑ์ ์ต๋๋ก ๋์ด๋ ค๋ฉด asyncio ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ๋ธ๋กํ์ง ๋ง๋ผ
Better way 64 ์ง์ ํ ๋ณ๋ ฌ์ฑ์ ์ด๋ฆฌ๋ ค๋ฉด concurrent.futures๋ฅผ ์ฌ์ฉํ๋ผ
8์ฅ. ๊ฐ๊ฑด์ฑ๊ณผ ์ฑ๋ฅ
Better way 65 try/except/else/finally์ ๊ฐ ๋ธ๋ก์ ์ ํ์ฉํ๋ผ
Better way 66 ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ try/finally ๋์์ ์ํ๋ค๋ฉด contextlib๊ณผ with ๋ฌธ์ ์ฌ์ฉํ๋ผ
Better way 67 ์ง์ญ ์๊ฐ์๋ time๋ณด๋ค๋ datetime์ ์ฌ์ฉํ๋ผ
Better way 68 copyreg๋ฅผ ์ฌ์ฉํด pickle์ ๋ ์ ๋ขฐ์ฑ ์๊ฒ ๋ง๋ค๋ผ
Better way 69 ์ ํ๋๊ฐ ๋งค์ฐ ์ค์ํ ๊ฒฝ์ฐ์๋ decimal์ ์ฌ์ฉํ๋ผ
Better way 70 ์ต์ ํํ๊ธฐ ์ ์ ํ๋กํ์ผ๋ง์ ํ๋ผ
Better way 71 ์์ฐ์-์๋น์ ํ๋ก deque๋ฅผ ์ฌ์ฉํ๋ผ
Better way 72 ์ ๋ ฌ๋ ์ํ์ค๋ฅผ ๊ฒ์ํ ๋๋ bisect๋ฅผ ์ฌ์ฉํ๋ผ
Better way 73 ์ฐ์ ์์ ํ๋ก heapq๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋๋ผ
Better way 74 bytes๋ฅผ ๋ณต์ฌํ์ง ์๊ณ ๋ค๋ฃจ๋ ค๋ฉด memoryview์ bytearray๋ฅผ ์ฌ์ฉํ๋ผ
9์ฅ. ํ ์คํธ์ ๋๋ฒ๊น
Better way 75 ๋๋ฒ๊น
์ถ๋ ฅ์๋ repr ๋ฌธ์์ด์ ์ฌ์ฉํ๋ผ
Better way 76 TestCase ํ์ ํด๋์ค๋ฅผ ์ฌ์ฉํด ํ๋ก๊ทธ๋จ์์ ์ฐ๊ด๋ ํ๋ ๋ฐฉ์์ ๊ฒ์ฆํ๋ผ
Better way 77 setUp, tearDown, setUpModule, tearDownModule์ ์ฌ์ฉํด ๊ฐ๊ฐ์ ํ
์คํธ๋ฅผ ๊ฒฉ๋ฆฌํ๋ผ
Better way 78 ๋ชฉ์ ์ฌ์ฉํด ์์กด ๊ด๊ณ๊ฐ ๋ณต์กํ ์ฝ๋๋ฅผ ํ
์คํธํ๋ผ
Better way 79 ์์กด ๊ด๊ณ๋ฅผ ์บก์ํํด ๋ชจํน๊ณผ ํ
์คํธ๋ฅผ ์ฝ๊ฒ ๋ง๋ค๋ผ
Better way 80 pdb๋ฅผ ์ฌ์ฉํด ๋ํํ์ผ๋ก ๋๋ฒ๊น
ํ๋ผ
Better way 81 ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์ดํดํ๊ธฐ ์ํด tracemalloc์ ์ฌ์ฉํ๋ผ
10์ฅ. ํ์
Better way 82 ์ปค๋ฎค๋ํฐ์์ ๋ง๋ ๋ชจ๋์ ์ด๋์ ์ฐพ์ ์ ์๋์ง ์์๋๋ผ
Better way 83 ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํด ์์กด ๊ด๊ณ๋ฅผ ๊ฒฉ๋ฆฌํ๊ณ ๋ฐ๋ณต ์์ฑํ ์ ์๊ฒ ํ๋ผ
Better way 84 ๋ชจ๋ ํจ์, ํด๋์ค, ๋ชจ๋์ ๋
์คํธ๋ง์ ์์ฑํ๋ผ
Better way 85 ํจํค์ง๋ฅผ ์ฌ์ฉํด ๋ชจ๋์ ์ฒด๊ณํํ๊ณ ์์ ์ ์ธ API๋ฅผ ์ ๊ณตํ๋ผ
Better way 86 ๋ฐฐํฌ ํ๊ฒฝ์ ์ค์ ํ๊ธฐ ์ํด ๋ชจ๋ ์์ญ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ผ
Better way 87 ํธ์ถ์๋ฅผ API๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํด ์ต์์ Exception์ ์ ์ํ๋ผ
Better way 88 ์ํ ์์กด์ฑ์ ๊นจ๋ ๋ฐฉ๋ฒ์ ์์๋๋ผ
Better way 89 ๋ฆฌํฉํฐ๋ง๊ณผ ๋ง์ด๊ทธ๋ ์ด์
๋ฐฉ๋ฒ์ ์๋ ค์ฃผ๊ธฐ ์ํด warning์ ์ฌ์ฉํ๋ผ
Better way 90 typing๊ณผ ์ ์ ๋ถ์์ ํตํด ๋ฒ๊ทธ๋ฅผ ์์ ๋ผ