파이썬에서 밑줄이 그어진 변수와 함수의 의미

변하기 쉬운:

1. 앞에 _가있는 변수 : 외부 클래스가이 변수에 계속 액세스 할 수 있음을 나타내는 데만 사용되는 전용 변수임을 나타냅니다.

2. 앞에 _ 두 개와 끝에 _ 두 개가있는 변수 : 기본 제공 변수임을 나타냅니다.

3. 대문자 및 밑줄이있는 변수 : 변경되지 않는 전역 변수를 나타냅니다.

함수:

1. 앞에 _가있는 변수 : 전용 함수임을 나타냅니다.

2. 앞에 _ 두 개, 끝에 _ 두 개가있는 기능 : 특수 기능 표시

Python의 코딩 스타일은 PEP 8에서 설명합니다. 이 문서는 Python 프로그래밍 스타일의 모든 측면을 설명합니다. 이 문서를 준수하는 조건 하에서 다른 프로그래머가 작성한 Python 코드는 유사한 스타일을 최대한 유지할 수 있습니다. 따라서 프로그래머간에 읽기 쉽고 의사 소통이 쉽습니다.

변수 1 개

상수 : 대문자 및 밑줄

USER_CONSTANT

변경되지 않는 전역 변수의 경우 대문자와 밑줄을 사용하십시오.
전용 변수 : 소문자 및 선행 밑줄

_private_value 

Python에는 비공개 변수가 없습니다. 보호해야하는 변수를 발견하면 소문자와 선행 밑줄을 사용하세요. 그러나 이것은 이것이 개인 변수이고 외부 클래스가 그것에 접근해서는 안된다고 경고하는 프로그래머 간의 합의 일뿐입니다. 그러나 실제로 외부 클래스는 여전히이 변수에 액세스 할 수 있습니다.
기본 제공 변수 : 소문자, 선행 밑줄 2 개 및 후행 밑줄 2 개

__class__ 

두 개의 밑줄로 인해 해석 중에 변수의 이름이 변경됩니다. 이는 내장 변수와 다른 변수 간의 충돌을 방지하기위한 것입니다. 사용자 정의 변수는이 스타일을 엄격히 피해야합니다. 혼란을 일으키지 않도록.

2 기능 및 방법

일반적으로 소문자와 밑줄을 사용해야합니다. 그러나 일부 오래된 라이브러리는 대소 문자를 혼합하여 사용합니다. 즉, 첫 번째 단어는 소문자, 그 다음 각 단어의 첫 글자는 대문자, 나머지는 소문자입니다. 하지만 이제는 소문자와 밑줄이 표준이되었습니다.
비공개 방법 : 소문자 및 선행 밑줄

def _secrete(self):
    print "don't test me."

이것은 실제로 개인 액세스 권한이 아니라 개인 변수와 동일합니다. 동시에 일반 함수는 두 개의 밑줄을 사용하지 않는다는 점에 유의해야합니다 (두 개의 밑줄이있는 경우 Python  의 이름 적응 기능이 역할을합니다). 특수 기능은 나중에 설명합니다.
특수 방법 : 소문자 및 두 개의 선행 밑줄, 두 개의 후행 밑줄

def __add__(self, other):
    return int.__add__(other)

 

이 스타일은 연산자 오버로딩과 같은 특수 기능에만 적용됩니다.

함수 매개 변수 : 소문자 및 밑줄, 기본값은 등호 양쪽에 공백이 없습니다.

def connect(self, user=None):
    self._user = user

클래스 3

클래스 이름은 항상 낙타 대문자 형식으로 지정됩니다. 즉, 모든 단어는 대문자이고 나머지 문자는 소문자입니다. 클래스 이름은 간결하고 정확해야하며 클래스가 수행 한 작업을 이해하기에 충분해야합니다. 일반적인 방법은 유형 또는 특성을 나타내는 접미사를 사용하는 것입니다. 예 :
SQLEngine
MimeTypes


기본 클래스의 경우 Base 또는 Abstract 접두사
BaseCookie
AbstractGroup을 사용할 수 있습니다.

class UserProfile(object):
    def __init__(self, profile):
        return self._profile = profile

    def profile(self):
        return self._profile

4 모듈 및 패키지

특수 모듈 __init__를 제외하고 모든 모듈 이름은 밑줄없이 소문자를 사용합니다.
프로토콜을 구현하는 경우 일반적으로 lib를 접미사로 사용합니다. 예를 들면 다음과 같습니다.

import smtplib

import os
import sys

5 매개 변수 정보

5.1 정적 유형 검사를 구현하기 위해 어설 션을 사용하지 마십시오

어설 션은 매개 변수를 확인하는 데 사용할 수 있지만 정적 유형 확인에만 사용할 수는 없습니다. Python은 동적 유형 언어이며 정적 유형 검사는 설계 철학을 위반합니다. 어설 션은 함수가 의미없이 호출되는 것을 방지하기 위해 사용되어야합니다.

5.2 * args 및 ** kwargs를 남용하지 마십시오.

* args 및 ** kwargs 매개 변수는 함수의 견고성을 파괴 할 수 있습니다. 그들은 서명을 모호하게 만들고 코드는 종종 그렇게해서는 안되는 작은 매개 변수 파서를 작성하기 시작합니다.

6 기타

6.1 부울 요소 이름 지정에 has 또는 is 접두사 사용

is_connect = True
has_member = False

6.2 복수 형태의 명명 시퀀스

members = ['user_1', 'user_2']

6.3 명시적인 이름으로 사전 명명

person_address = {'user_1':'10 road WD', 'user_2' : '20 street huafu'}

6.4 일반 이름을 피하십시오

목록, 사전, 순서 또는 요소와 같은 이름은 사용하지 않아야합니다.

6.5 기존 이름 피하기

이미 존재하는 os, sys와 같은 시스템 이름은 피해야합니다.

추천

출처blog.csdn.net/TomorrowAndTuture/article/details/112996118