[python] Python 코딩 표준 / 모범 사례 [닫힌]

파이썬에서 일반적으로 PEP 8-Python 코드 용 스타일 가이드를 코딩 표준 / 가이드 라인으로 사용합니까? 선호하는 다른 공식화 된 표준이 있습니까?



답변

“Python에서 일반적으로 PEP 8-Style Guide for Python Code를 코딩 표준 / 가이드 라인으로 사용합니까? 선호하는 다른 공식화 된 표준이 있습니까?”

당신이 언급했듯이 본문에는 PEP 8 을 따르고 스트링 규칙에 대해서는 PEP 257 을 따릅니다.

Python 스타일 가이드와 함께 다음을 참조하는 것이 좋습니다.

  1. Pythonista와 같은 코드 : 관용적 Python
  2. 일반적인 실수와 사마귀
  3. 파이썬 코드를 작성하지 않는 방법
  4. 파이썬 잡았다

답변

Rob Knight 의 Python 관용어 및 효율성 지침을 따릅니다. 나는 그것들이 PEP 8과 똑같다고 생각하지만 더 합성적이고 예를 기반으로합니다.

wxPython을 사용하는 경우 Chris Barker의 wxPython 코드에 대한 스타일 가이드 도 확인할 수 있습니다 .


답변

나는 PEP-8을 매우 밀접하게 고수합니다.

PEP-8로 변경하는 데 신경 쓸 수없는 세 가지 특정 사항이 있습니다.

  • 괄호, 대괄호 또는 중괄호 바로 안에 불필요한 공백을 피하십시오.

    제안 : spam(ham[1], {eggs: 2})

    어쨌든 나는 이것을한다 : spam( ham[ 1 ], { eggs: 2 } )

    왜? 30 년 이상의 뿌리 깊은 습관은 함수 이름이나 (C에서) 문 키워드에 반대하는 ()를 안고 있습니다. 70 년대 포트란 IV부터 시작합니다.

  • 산술 연산자 주위에 공백을 사용하십시오.

    제안 : x = x * 2 - 1

    어쨌든 나는 이것을한다 : x= x * 2 - 1

    왜? Gries의 The Science of Programming은 할당과 상태가 변경되는 변수 간의 연결을 강조하는 방법으로 이것을 제안했습니다.

    나는 많은 공간을 사용하기 때문에 다중 할당이나 증강 할당에는 잘 작동하지 않습니다.

  • 함수 이름, 메소드 이름 및 인스턴스 변수 이름

    권장 사항 : 가독성을 높이기 위해 필요에 따라 단어를 밑줄로 구분 한 소문자.

    어쨌든 나는 이것을한다 : camelCase

    왜? 80 년대 파스칼을 시작으로 20 년 이상의 camelCase의 뿌리깊은 습관.


답변

PEP 8은 훌륭합니다. 제가 더 세게 내려 왔으면하는 유일한 것은 Tabs-vs-Spaces 거룩한 전쟁이었습니다.

기본적으로 파이썬으로 프로젝트를 시작하는 경우 탭 또는 공백을 선택한 다음 모든 범죄자를 눈에 띄게 쏴야합니다.


답변

bhadra의 관용적 가이드 목록 에 추가하려면 :

효과적인 Python 프로그래밍 에 대한 Anthony Baxter의 프레젠테이션 (OSON 2005)을 확인하십시오.

발췌 :

# dict's setdefault method turns this:
if key in dictobj:
    dictobj[key].append(val)
else:
    dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)


답변

나는 그것을 매우 엄격하게 따릅니다. PEP-8 이전의 유일한 신은 기존 코드 기반입니다.


답변

예, 가능한 한 가깝게 따르려고합니다.

다른 코딩 표준을 따르지 않습니다.