Python의 기초적인 PEP8 규범(코드 작성 규범)
PEP8은 Python의 공식 문서에서 제공한 코드 규범입니다. 이 규범과 결합하여 저는 코드를 쓰는 습관을 정리했습니다.
여기서 PEP8 공식 원문을 살펴보면 본고는 제가 비교적 중시하는 규범만 골라서 참고만 합니다.
1. 들여쓰기
강제 축소 규정은 코드를 가지런하게 보이게 하고 강박증은 좋아한다는 뜻이다.
첫 번째 상황: 코드 블록의 분할
Python은 사칭과 축진을 사용하여 코드 블록을 분할한다. 코드 블록은 클래스의 정의, 함수의 정의, 프로세스 제어에서if, for,while 모듈을 가리킨다.들여쓰기는 하나의 코드 블록의 시작을 나타내고, 비들여쓰기는 하나의 코드의 끝을 나타내며, 같은 들여쓰기는 코드 블록에서 같은 단계에 있음을 나타낸다.
한 레벨마다 탭 키 (네 개의 스페이스 바) 를 사용합니다.실제로는 한 칸이면 되지만 한 칸은 뚜렷하지 않기 때문에 한 칸을 사용하는 것이 더욱 편리하고 명확하다.
예를 들어 다음은 두 개의 코드 블록이다(두 코드 블록 사이에 한 줄을 비우는 것을 권장한다).# , , ,
if a>b:
print(a)
def print_name(var):
print(var)
print('haha')
두 번째 경우: 줄 바꿈
때때로 코드를 한 줄 쓰는데, 특히 길면 줄을 바꾸어야 한다.문서는 괄호로 수직으로 정렬하는 것과 같은 패키지 요소와 계속 정렬하는 것을 권장합니다.# ,
foo = long_function_name(var_one, var_two,
var_three, var_four)
2. 명명 약정
변수명은 자모, 숫자, 밑줄의 조합일 수 있고, 숫자로 시작할 수도 없고, 키워드로 이름을 지을 수도 없습니다!
키워드는 다음과 같은 특수 의미의 문자입니다.import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'break', \
'class', 'continue', 'def', 'del', 'elif', 'else', 'except',\
'finally', 'for', 'from', 'global', 'if', 'import', 'in', \
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',\
'return', 'try', 'while', 'with', 'yield']
이외에 다른 규범도 있다. 1) 파이톤에서 대소문자를 구분하고 클래스명은 일반적으로 알파벳 대문자를 사용한다.2) 자모 I(i의 대문자), l(L의 소문자), o, O는 숫자 1과 0으로 착각될 수 있기 때문에 조심해야 한다.3) 명명은 간단하면서도 묘사적이어야 한다.예를 들어, studentname 비sn네,namelength 비lengthof_persons_네,좋아요.4) 연산자 앞뒤에 n=1 등의 공백을 유지합니다.
3. 파이톤의 선
파이톤에 달걀이 내장되어 있어 파이톤의 철학을 간단명료하게 설명한다. import this를 입력하고 리턴을 누르면 원문을 볼 수 있다. 여기에 중국어 번역 버전을 붙인다.
파이톤의 선 by Tim Peters 아름다움은 추함보다 낫다 명료함은 은밀하고 간결한 것보다 복잡하고 편평한 것보다 덧씌운 것보다 느슨한 것보다 촘촘하고 가독성이 중요하다.추측하지 마라. 틀림없이 하나일 것이다. 일반적으로도 유일한 것이다. 최선의 해결 방안은 쉽지 않다. 파이톤의 아버지가 손을 쓰는 것이 손을 대지 않는 것보다 낫기 때문이다. 생각하지 않고 손을 쓰는 것이 낫다. 만약 네 방안이 이해하기 어렵다면 좋은 방안은 아닐 것이다. 만약 네 방안이 잘 이해된다면, 그것은 틀림없이 좋은 방안의 명명 공간이 매우 유용할 것이다. 우리는 더욱 이용해야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# , , ,
if a>b:
print(a)
def print_name(var):
print(var)
print('haha')
# ,
foo = long_function_name(var_one, var_two,
var_three, var_four)
변수명은 자모, 숫자, 밑줄의 조합일 수 있고, 숫자로 시작할 수도 없고, 키워드로 이름을 지을 수도 없습니다!
키워드는 다음과 같은 특수 의미의 문자입니다.
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'break', \
'class', 'continue', 'def', 'del', 'elif', 'else', 'except',\
'finally', 'for', 'from', 'global', 'if', 'import', 'in', \
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',\
'return', 'try', 'while', 'with', 'yield']
이외에 다른 규범도 있다. 1) 파이톤에서 대소문자를 구분하고 클래스명은 일반적으로 알파벳 대문자를 사용한다.2) 자모 I(i의 대문자), l(L의 소문자), o, O는 숫자 1과 0으로 착각될 수 있기 때문에 조심해야 한다.3) 명명은 간단하면서도 묘사적이어야 한다.예를 들어, studentname 비sn네,namelength 비lengthof_persons_네,좋아요.4) 연산자 앞뒤에 n=1 등의 공백을 유지합니다.
3. 파이톤의 선
파이톤에 달걀이 내장되어 있어 파이톤의 철학을 간단명료하게 설명한다. import this를 입력하고 리턴을 누르면 원문을 볼 수 있다. 여기에 중국어 번역 버전을 붙인다.
파이톤의 선 by Tim Peters 아름다움은 추함보다 낫다 명료함은 은밀하고 간결한 것보다 복잡하고 편평한 것보다 덧씌운 것보다 느슨한 것보다 촘촘하고 가독성이 중요하다.추측하지 마라. 틀림없이 하나일 것이다. 일반적으로도 유일한 것이다. 최선의 해결 방안은 쉽지 않다. 파이톤의 아버지가 손을 쓰는 것이 손을 대지 않는 것보다 낫기 때문이다. 생각하지 않고 손을 쓰는 것이 낫다. 만약 네 방안이 이해하기 어렵다면 좋은 방안은 아닐 것이다. 만약 네 방안이 잘 이해된다면, 그것은 틀림없이 좋은 방안의 명명 공간이 매우 유용할 것이다. 우리는 더욱 이용해야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.