Python coding style(rule) - PEP8
์ต๊ทผ ํ์ด์ฌ์ ๋งค๋ ฅ์ ๋น ์ ธ ํ์ด์ฌ์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค.
ํ์ด์ฌ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๊ณต๋ถ๋ฅผ ๋ง์น๊ณ ์ ๊ฐ ๊ฐ์ฅ ๋จผ์ ๊ณต๋ถํ ๊ฒ์ ํ์ด์ฌ์ผ ํ์ค ์ฝ๋ฉ ์คํ์ผ์ธ PEP8์
๋๋ค.
ํ์ค ์ฝ๋ฉ ์คํ์ผ๋ก ์ฝ๋ฉ์ ํ ๋ ์ฅ์ ๋ค์ ์ดํด๋ณด๋ฉด
- ์ผ๊ด์ฑ ์๋ ์คํ์ผ์ ์ฌ์ฉํ๋ฉด ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๊ณ , ๊ฐ๋ ์ฑ ๋ํ ๋์์ง๋๋ค.
- ํ์ค ์คํ์ผ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ฌ๋์ด ์ง ์์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์๊ณ ํ์ ์ ์ฉ์ดํฉ๋๋ค.
์ง๊ธ์ฒ๋ผ ํ์
๊ณผ ์ ์ง๋ณด์๋ฅผ ์ค์์ํ๋ ์ํฉ์์ ํ์ค ์คํ์ผ ์งํค๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ด์ ๋ถํฐ ํ์ด์ฌ ํ์ค ์ฝ๋ฉ ์คํ์ผ์ ๋ํด์ ๊ฐ๋ตํ ์ ๋ฆฌ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
1. Whitespace(๊ณต๋ฐฑ)
- tab์ ์๋ space๋ก ๋ค์ฌ์ฐ๊ธฐ
- ๋ค์ฌ์ฐ๊ธฐ๋ space 4๊ฐ๋ฅผ ์ฌ์ฉ
- ํ ์ค์ ๋ฌธ์ ๊ธธ์ด๋ 79์ ์ดํ์ฌ์ผ ํ๋ค.
- ํจ์์ ํด๋์ค๋ ๋น ์ค ๋ ์ค๋ก ๊ตฌ๋ถํ๋ค.
def example_function():
pass
class ExampleClass():
pass
- ํด๋์ค ๋ด์ ๋ฉ์๋๋ค์ ๋น ์ค ํ๋๋ก ๊ตฌ๋ถํ๋ค.
class ExampleClass():
def example_function_one(self):
pass
def example_function_two(self):
pass
- ์ฐ์ฐ์ ์ ๋ค๋ก ๊ณต๋ฐฑ ํ๋์ฉ ๋ฃ์ด ๊ตฌ๋ถํ๋ค.
a == b
a > b
a = 10
a * b
- ํญ์ ํ์ผ์ ๋งจ ๋ง์ง๋ง ์ค์ ๊ณต๋ฐฑ
2. Naming(๋ช ๋ช )
- ํจ์, ๋ณ์, ์์ฑ์ lowcase_underscore ํ์์ ์ฌ์ฉ
- ๋ณดํธ ์ธ์คํด์ค ์์ฑ์ _lowcase_underscore ํ์์ ์ฌ์ฉ
- private ์์ฑ์ __lowcase_underscore ํ์์ ์ฌ์ฉ
- ํด๋์ค์ ์์ธ๋ CamelCase ์ฌ์ฉ
- ์์๋ UPPER_CASE ์ฌ์ฉ
3. ํํ์๊ณผ ๋ฌธ์ฅ
if not a is b
๋์ ์if a is not b
์ฌ์ฉ- ํ์ด์ฌ์ ๊ฐ๋จ ๋ช ๋ฃํ ํํ์ ์ข์ํ๊ธฐ ๋๋ฌธ์ ํ ์ค๋ก ๋ if๋ฌธ, ๋ฐ๋ณต๋ฌธ, except ๋ฌธ์ ์ฐ์ง ์๋๋ค.
- ํญ์ ํ์ผ์ ๋งจ ์์ import ๋ฌธ์ ์ฌ์ฉ
- import๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋, ์๋ํํฐ ๋ชจ๋, ์์ ์ด ๋ง๋ ๋ชจ๋ ์์ผ๋ก ๊ตฌ๋ถํ๋ค.