WeSTUDY | 3주차 PEP 8 Guide
목표 : 구글링의 기초(?)가 되는 파이썬관련 영문용어들과 익숙해지는 시간을 갖는다.
PEP 8 이란 ?
파이썬을 이용해 코딩하는 사람들을 위해 파이썬 창시자 귀도 반 로섬이 배포한 파이썬 스타일 가이드다. 코드를 일관되게 작성해 가독성을 높이고 개발자간 상호이해를 돕도록 코딩 스타일 표준을 제시한다.
(영어 -> 한국어) 번역 과정에서 임의로 번역한 부분/오류 있음.
PEP 원문(click)
코드 레이아웃
- 들여쓰기(Indentation)로 인자 (argument) 구별하기
들여쓰기는 4개의 공백을 사용한다.
스페이스바
를 4번 누르거나 tab
을 누른다.
인자가 다른 요소와 구별되도록 들여쓰기를 사용함.
->def long_function_name( var_one, var_two, var_three, var_four) : print(var_one)
- 최대 문장 길이
모든 행의 길이를 최대 79자로 제한한다. 에디터창의 너비를 제한하면 여러 개의 파일을 나란히 열 수 있고 인접한 열(column)의 두 버전을 제공하는 코드 리뷰도구를 사용할 때 편리하다.
- 괄호 (parentheses)를 사용해 줄바꾸기
표현식을 ()
로 감싸서 여러줄로 나눌 수 있음. 연속되는 행은 \
을 사용해 표시할 수 있음.
with open('/path/to/some/file/you/want/to/read') as file_1, \ open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read())
- 소스파일 인코딩
파이썬 배포 파일은 항상 UTF-8
혹은 ASC
를 사용해야 함.
- import
다른 행에 입력해야하고, 항상 파일의 최상단에 위치해야 함.
import os import sys
import의 순서
1. 표준 라이브러리
2. 관련 써드파티 라이브러리
3. 로컬 어플리케이션/라이브러리
- 모듈 레벨 Dunder Names
dunder : names with two leading and two trailing underscores
예 ) __all__, __author__, __version__
던더 네임은 소스코드에 포함된 문서(docstring)의 뒤에, 모든 import선언문
(from __future__제외)
의 앞에 위치해야함.//docstring """This is the example module. This module does stuff. """ from __future__ import barry_as_FLUFL //dunder names __all__ = ['a', 'b', 'c'] __version__ = '0.1' __author__ = 'Cardinal Biggles' //import 선언문 import os import sys
- 작은따옴표와 큰따옴포
파이썬에서 ''
와 ""
는 같음. 아무거나 사용해도 좋다!!
문자열에 따옴표를 포함하고 있는 경우엔 \
를 사용하지 않기 위해 다른 따옴표를 사용하는게 좋음.
- 공백 (Whitespace)
공백을 표현하는 ''
, \n
같은 문자들을 Whitespace라고 한다.
필요없는 공백의 사용은 자제한다.
괄호안의 공백
//Wrong! spam( ham[ 1 ], {eggs: 2 } )
,
;
:
의 앞에 위치한 공백//Wrong!! if x == 4 : print x , y ; x , y = y , x
!공백은 한 칸을 초과해서 사용하지 않는다.!
Trailing commas
일반적으로 선택사항이나 튜플을 만들땐 필수다. ()
로 글자를 감싸 더 명확하게 표현할 수 있음.
주석 (Comments)
코드와 상응하지 않는 주석은 없느니만 못하다. 코드를 바꿀 땐 항상 주석을 업데이트하는 것을 최우선으로 한다. 자신의 코드가 한국어를 못하는 사람이 읽을 확률이 없다고 120% 확신하지 않는 이상 영어로 주석을 작성하라 (ㅋㅋ)
- Block Comments
2줄 이상의 주석은 해당하는 코드와 동일한 수준으로 들여쓰기를 사용하도록 한다. 각 줄의 Block comments는 #
와 한 칸의 공백으로 시작한다.
- Inline Comments
코드와 같은 줄에 있는 주석으로 드물게 사용한다.
#
와 한 칸의 공백으로 시작하며 코드와 적어도 두칸 이상의 공백을 두고 적는다.
x = x + 1 # Compensate for border
- Docstring
공용 모듈, 함수, 클래스, 메서드를 사용할 땐 docstring을 쓰는 것이 좋다. 그렇지 않은 경우에 docstring이 필수는 아니지만 메서드가 어떤 기능을 하는 지 주석을 쓰도록 한다. 이 주석은 def
이후에 작성되야 한다.
여러 줄의 docstring의 끝에 붙는
"""
는 단독으로 써야한다.
한 줄의 docstring의 경우엔"""
을 같은 줄에 적는다."""Return a foobang /n Optional plotz says to frobnicate the bizbaz first. """
명명 규칙 (Naming Conventions)
의무적인 규칙은 정해진 것이 없으며 사용자의 스타일대로 사용한다.
l
o
i
를 변수이름으로 사용할 경우에 숫자 0
과 1
과 구별하기 어렵다.
-
패키지와 모듈 이름
모듈은 짧고 소문자로 된 이름이어야 한다.
_
을 사용할 수 있다. 패키지 또한 짧고 소문자로 된 이름이어야 하지만_
의 사용은 지양한다. -
클래스 이름
클래스 이름은 보통 CapWords 규칙을 따른다. CapWords 규칙은 단어의 앞글자를 대문자로 시작하는 규칙이다.
-
함수와 변수 이름
함수 이름은 소문자여야 하고 단어는
_
를 사용해 구분짓는다. 변수이름은 관습적으로 함수와 같은 규칙을 사용한다. -
상수 (Constants)
상수는 대문자와
_
을 사용해 단어를 구분짓는다.
ex )MAX_OVERFLOW
,TOTAL
후기 : 모든 용어를 직역해서 사용하는 것이 아니라 뜻을 이해하는 데 시간이 걸리지만 용어자체에 익숙해지면 바로 이해할 수 있을 것 같다.
구글링을 통해 원하는 정보를 찾는 것도 어렵고 대부분의 자료가 영어로 작성되어 있어 한국어로 번역한 후 전문용어로 연결짓는게 시간이 걸리기 때문에 연습이 필요해보인다.
Author And Source
이 문제에 관하여(WeSTUDY | 3주차 PEP 8 Guide), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@e2joo418/WeSTUDY-3주차-PEP-8-Guide저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)