>  기사  >  백엔드 개발  >  Python 프로그래밍 사양

Python 프로그래밍 사양

高洛峰
高洛峰원래의
2016-11-22 16:35:431042검색

적절한 빈 줄은 코드의 가독성을 높이는 데 도움이 됩니다. 빈 줄을 추가하려면 다음 지침을 참조하세요.

1) 클래스와 함수 정의 사이에 빈 줄을 추가합니다.

2) 서로 다른 유형의 가져오기 모듈 사이에 빈 줄을 추가합니다.

3) 함수의 논리적 단락 사이에 빈 줄을 추가합니다. 즉, 관련 코드를 논리적 단락으로 간결하게 작성하고, 단락 사이는 공백으로 구분합니다. line

> 줄 바꿈

오늘날의 와이드스크린 모니터는 단일 화면에 256열 이상의 문자를 표시할 수 있지만 이 사양에서는 여전히 줄의 최대 길이가 80자를 초과할 수 없다고 주장합니다. 문자. 긴 줄을 접는 방법에는 여러 가지가 있습니다.

1) 긴 변수 이름을 다음과 같은 짧은 이름으로 변경합니다.

this.is.a.very.long.variable_name = this.is.another.long.variable_name
다음과 같이 변경해야 합니다.

variable_name1 = this.is.a.very.long.variable_name
variable_name2 = this.is.another.variable_name
variable_name1 = variable_name2s
2) Python은 괄호, 대괄호 및 중괄호 안의 줄을 암시적으로 연결합니다. 이 기능을 활용할 수 있습니다. 필요한 경우 표현식 주위에 괄호

를 추가할 수 있습니다. 3) 긴 줄에 줄 연속 문자를 추가하여 줄 바꿈을 강제로 수행할 수 있는 위치는 연산자 앞에 있어야 합니다. 유지 관리 담당자가 코드를 볼 때 다음과 같이 코드 줄의 시작 부분을 보면 줄 바꿈이 있음을 확인할 수 있도록 줄 바꿈 뒤에 추가 들여쓰기가 있어야 합니다. 🎜>

> 문자열

if color == WHITE or color == BLACK \
    or color == BLUE: # 注意 or 操作符在新行的行首而不是旧行的行尾
do_something(color);
1) 문자열을 누적하기 위해 루프 및 += 연산자에서 +를 사용하지 마세요. 문자열은 변경할 수 없으므로 불필요한 임시 개체가 생성되고 선형 런타임이 아닌 2차 런타임이 발생합니다. 대안으로 각 하위 문자열을 목록에 추가한 다음 루프가 끝난 후 .join을 사용하여 목록을 조인할 수 있습니다. (각 하위 문자열을 cStringIO.StringIO 캐시에 쓸 수도 있습니다.)

2) 여러 줄로 구성된 문자열에는 세 개의 작은따옴표 대신 세 개의 큰따옴표를 사용합니다. 그러나 여러 줄 문자열은 프로그램의 나머지 부분을 들여쓰는 방식과 일치하지 않기 때문에 암시적 줄 연결을 사용하는 것이 더 깔끔한 경우가 많습니다.

> 네이밍

일관적인 네이밍은 개발자의 고민을 많이 줄여줄 수 있으며, 적절한 네이밍은 코드의 가독성을 크게 향상시키고 유지관리 비용을 절감할 수 있습니다.

>> 상수

상수 이름의 모든 문자는 대문자로 표시되며

>>와 같이 각 단어는 밑줄로 연결됩니다.

변수 이름은 모두 소문자여야 하며
WHITE = 0XFFFFFF
THIS_IS_A_CONSTANT = 1

처럼 각 단어를 연결하는 밑줄이 있어야 합니다. 비공개 클래스 멤버는 더 많은 공개 멤버와 더 적은 비공개 멤버로 식별됩니다.

Python은 동적으로 유형이 지정되는 언어이므로 변수 이름에 유형 정보를 전달하면 안 됩니다. iValue, names_list, dict_obj 등은 모두 잘못된 이름입니다.
color = WHITE
this_is_a_variable = 1

>> 함수

함수 이름의 명명 규칙은 변수 이름과 동일합니다.

>> 클래스

클래스 이름에는 대문자로 시작하는 단어(예: CapWords, Pascal 스타일)를 사용하고 단어를 연결하는 데 밑줄을 사용하지 마십시오. 예:

>>

모듈 이름은 모두 소문자입니다. 패키지에 사용되는 모듈의 경우
class ThisIsAClass(object):pass

>> 패키지

패키지 명명 규칙은 모듈 명명 ​​규칙과 동일합니다.

module.py_
internal_module.py
>> 약어

약어에는 두 가지 유형이 있습니다.

1) XML과 같이 일반적으로 사용되는 약어입니다. , ID 등 이름을 지을 때

와 같이 첫 글자만 대문자로 표기해야 합니다. 2) 이름에 긴 단어가 포함된 경우 특정 단어를 축약하여 사용합니다. 이때, 모음을 제거하고, 자음을 포함하는 첫 문자 등을 제거하는 등 기존의 약어방식을 사용해야 한다. 예를 들면

함수는 fn으로 축약한다

class XmlParser(object):pass
텍스트는 txt로 축약한다.

Object는 obj로 축약합니다

Count는 cnt로 축약합니다

Number는 num으로 축약합니다.

>> 구체적인 명명 방법

은 주로 __xxx__ 형식의 시스템 예약어 명명 방법을 나타냅니다. 이러한 종류의 이름 지정은 프로젝트에서도 사용할 수 있습니다. 그 의미는 이 형식의 변수는 읽기 전용이며 이 형식의 클래스 멤버 함수는 최대한 오버로드되어서는 안 된다는 것입니다. 예를 들어

여기서 __id__, __parent__ 및 __message__는 모두 시스템 예약어 명명법을 사용합니다.

>> 가져오기 형식

class Base(object):
    def __init__(self, id, parent =None):
        self.__id__ = id
        self.__parent__ = parent    def __message__(self, msgid):
        # …略
1) 가져오기 순서는 먼저 Python 내장 모듈을 가져온 다음 타사 모듈을 가져오고 마지막으로 자체 개발 프로젝트의 다른 모듈을 가져옵니다. ; 이러한 유형의 모듈은 빈 줄로 구분됩니다.

2) 각 가져오기는 자체 라인에 있어야 합니다.

3) import 상수 정의 모듈이나 네임스페이스 충돌이 없는 것이 보장되는 다른 모듈이 아닌 이상 from module import *를 사용하지 마세요.

> 할당

할당 언어의 경우

등 불필요한 정렬을 하지 않는 것이 가장 중요합니다.

a            = 1                               # 这是一个行注释
variable = 2                               # 另一个行注释
fn           = callback_function    # 还是行注释

没有必要做这种对齐,原因有两点:一是这种对齐会打乱编程时的注意力,大脑要同时处理两件事(编程和对齐);二是以后阅读和维护都很困难,因为人眼的横向视野很窄,把三个字段看成一行很困难,而且维护时要增加一个更长的变量名也会破坏对齐。直接这样写为佳:

a = 1 # 这是一个行注释
variable = 2 # 另一个行注释
fn = callback_function # 还是行注释

>  语句

通常每个语句应该独占一行。不过, 如果测试结果与测试语句在一行放得下, 你也可以将它们放在同一行。如果是if语句, 只有在没有else时才能这样做。特别地,绝不要对 try/except 这样做,因为try和except不能放在同一行。


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.