Python 중대변수 나 함수 이름
python 의 식별 자 는 숫자,자모 와 를 포함 할 수 있 습 니 다.알파벳 이나처음첫머리 의 명명 은 일반적으로 특수 한 의 미 를 가지 고 있다.
앞 뒤 모두 더 블 밑줄 이 있 음이름
일반적으로 특수 한 방법의 명명 에 사용 되 며 대상 의 행동 이나 기능 을 실현 하 는 데 사용 된다.예 를 들 어new__()방법 은 인 스 턴 스 를 만 드 는 데 사 용 됩 니 다.init__()방법 은 대상 을 초기 화 하 는 데 사용 되 며,
x+y 조작 매 핑 방법 x.add__(y),시퀀스 또는 사전 의 색인 작업 x[k]매 핑 x.getitem__(k),__len__()、__str__()각각 내 장 된 함수 len(),str()호출 등.
시작 에 만 밑줄 긋 기이름
대상 의 데이터 패 키 징 에 사용 되 며,이 이름 의 속성 이나 방법 을 클래스 로 하 는 개인 속성 이나 개인 방법 입 니 다.
class Foo(object):
def __init__(self):
self.__name = 'private name'
def getname(self):
return self.__name
def __spam(self):
print 'private method'
def bar(self):
self.__spam()
외부 에서 개인 속성 이나 방법 에 직접 접근 하면:
>>> f = Foo()
>>> f.__name
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
f.__name
AttributeError: 'Foo' object has no attribute '__name'
>>> f.__spam()
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
f.__spam()
AttributeError: 'Foo' object has no attribute '__spam'
불가능 합 니 다.이것 은 데 이 터 를 숨 기 는 역할 을 합 니 다.그러나 이러한 실현 체 제 는 엄격 하지 않 습 니 다.체 제 는 자동 으로'변형'을 통 해 이 루어 집 니 다.클래스 의 모든 쌍 밑줄 로 시작 하 는 이름name 은 자동 으로""로 변 합 니 다.클래스 이름name"의 새 이름:
>>> f._Foo__name
'private name'
>>> f._Foo__spam()
private method
이렇게 하면 방문 할 수 있다.이러한 메커니즘 은 계승 류 의 재 정의 나 변경 방법의 실현 을 막 을 수 있다.예 를 들 어 Foo 의 파생 류 를 정의 할 수 있다.
class Goo(Foo):
def __spam(self):
print 'private method of Goo'
다시 썼 습 니 다spam 방법,실행:
>>> g = Goo()
>>> g.bar()
private method
bar()방법 을 호출 할 때 도 Foo 류 의 를 실행 합 니 다.spam()방법,bar()방법의 실현 에 있어 self.spam()이 자동 으로 self 로 변형 되 었 습 니 다.Foo__spam(),Goo 가 계승 하 는 bar()방법 도 마찬가지다.단선 으로처음 이름
일반적으로 모듈 의'개인'정의 에 사용 되 는 이름 입 니 다.
from module import*문 구 는 모듈 의 모든 이름 을 불 러 오 는 데 사 용 됩 니 다.가 져 온 이름 을 제어 하려 면 목록 을 정의 하 는 방법 입 니 다.all__,오직all__이름 을*로 가 져 올 수 있 습 니 다.
다른 방법 은 단일 밑줄 로 시작 하여 정 의 를 내 리 는 것 입 니 다.이 정 의 는*가 져 오지 않 습 니 다.
물론 클래스 에서 도 단일 밑줄 로 시작 하여 속성 이나 방법 을 명명 할 수 있다.이것 은 클래스 의 정의 자 들 이 이러한 속성 이나 방법 이'개인 적'이 기 를 바 라 는 것 을 나타 내 는 것 일 뿐 실제 적 으로 어떠한 역할 도 하지 않 는 다.
총결산
이상 은 바로 본 논문 에서 Python 의 중간 띠 에 관 한 것 입 니 다.의 변수 나 함수 이름 의 모든 내용 이 도움 이 되 기 를 바 랍 니 다.관심 이 있 는 친 구 는 본 사이트 의 다른 관련 주 제 를 계속 참고 할 수 있 습 니 다.부족 한 점 이 있 으 면 댓 글로 지적 해 주 십시오.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.