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


116

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


1
//, "청중 선호도"에 대한 권유는 처음에는 무해한 것처럼 보일 수 있지만 스택 오버플로를 폴링 메커니즘, 즉 다수에 대한 소수의 왜곡 된 민주주의로 바꿉니다. "선호하는 다른 ________이 있습니까?" 말 그대로 사실이 아니라 선호도를 묻는 것입니다.
Nathan Basanese

답변:


150

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

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

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

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


8

나는 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의 뿌리깊은 습관.


1
그것은 훌륭한 콘텐츠입니다! codingstyleguide.com 또는 codereview.stackexchange.com 은이 훌륭한 지침을 제공하기에 좋은 곳입니다.
Pompeyo

5

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

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


4
탭 또는 공백? PEP8에서 : 공백이 선호되는 들여 쓰기 방법입니다. 탭은 탭으로 이미 들여 쓰기 된 코드와 일관성을 유지하기 위해서만 사용해야합니다.
The Demz 2014

//, PEP8은 공백이 선호되는 들여 쓰기 방법이라는 것을 꽤 분명하게 보여줍니다, Ryan. 반대 투표. 그래도 답변을 업데이트 하시겠습니까?
Nathan Basanese 2015 년

5

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)

4

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


1
PEP-8은 기존 코드 기반도 고려합니다.
John Mulder

2

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

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


1

저는 PEP8을 따르며, 코딩 스타일의 훌륭한 부분입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.