Python coding style(rule) - PEP8

2017-03-06

thumbnail

์ตœ๊ทผ ํŒŒ์ด์ฌ์˜ ๋งค๋ ฅ์— ๋น ์ ธ ํŒŒ์ด์ฌ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ๊ณต๋ถ€๋ฅผ ๋งˆ์น˜๊ณ  ์ œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๊ณต๋ถ€ํ•œ ๊ฒƒ์€ ํŒŒ์ด์ฌ์œผ ํ‘œ์ค€ ์ฝ”๋”ฉ ์Šคํƒ€์ผ์ธ 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๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ๋“ˆ, ์„œ๋“œํŒŒํ‹ฐ ๋ชจ๋“ˆ, ์ž์‹ ์ด ๋งŒ๋“  ๋ชจ๋“ˆ ์ˆœ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

Reference