>  기사  >  백엔드 개발  >  Python 클래스 속성이란 무엇입니까? 클래스의 사유 재산은 무엇입니까? (예시분석)

Python 클래스 속성이란 무엇입니까? 클래스의 사유 재산은 무엇입니까? (예시분석)

乌拉乌拉~
乌拉乌拉~원래의
2018-08-22 17:17:023010검색

이 글에서는 클래스에 대한 지식을 배워보겠습니다. 일부 친구들은 프로그래밍 언어인 Python을 이제 막 접했을 수도 있고 python 클래스 속성에 대해 특별한 이해가 없을 수도 있지만 따라해 보도록 하겠습니다. 이 기사에서는 python 클래스 속성 메서드에 대해 알아보도록 하겠습니다. 자, 더 이상 고민하지 말고 기사에 들어가서 학습을 시작하겠습니다.

클래스의 비공개 속성

__private_attrs: 두 개의 밑줄로 시작하는 속성은 비공개이므로 클래스 외부에서 사용하거나 직접 액세스할 수 없음을 선언합니다. 클래스 내부의 메소드에서 사용되거나 직접 액세스됩니다. 클래스 내부의 메소드에서 self.__private_attrs를 사용할 때.

클래스 메소드

클래스 내에서 def 키워드를 사용하여 클래스에 대한 메소드를 정의할 수 있습니다. 일반 함수 정의와 달리 클래스 메소드는 첫 번째 매개변수인 self를 포함해야 합니다.

클래스의 프라이빗 메서드

__private_method: 두 개의 밑줄로 시작하는 해당 메서드가 프라이빗 메서드이므로 클래스 외부에서 호출할 수 없음을 선언합니다. 클래스 내에서 self.__private_methods를 호출하세요.

예는 다음과 같습니다:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量
 
    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print self.__secretCount
 
counter = JustCounter()
counter.count()
counter.count()
print counter.publicCount
print counter.__secretCount  # 报错,实例不能访问私有变量

Python 클래스 이름을 포함하도록 이름 변경:

Traceback (most recent call last):
  File "test.py", line 17, in <module>
    print counter.__secretCount  # 报错,实例不能访问私有变量
AttributeError: JustCounter instance has no attribute &#39;__secretCount&#39;

Python은 인스턴스화된 클래스가 개인 데이터에 액세스하는 것을 허용하지 않지만 object._className__attrName(ObjectName._ClassName__Private Attribute Name)을 사용하여 access 속성은 다음 예시를 참고하세요.

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Runoob:
    __site = "www.runoob.com"
    
runoob = Runoob()
print runoob._Runoob__site

위 예시를 실행한 후 출력은 다음과 같습니다.

www.runoob.com

위는 이 글에 설명된 내용 전부입니다. 이 글에서는 주로 python 클래스 속성 관련 지식을 소개합니다. method. 위의 내용을 이해하는 데 정보를 사용할 수 있기를 바랍니다. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.

더 많은 관련 지식을 알고 싶으시면 PHP 중국어 홈페이지의 Python tutorial 칼럼을 방문해 주세요.

위 내용은 Python 클래스 속성이란 무엇입니까? 클래스의 사유 재산은 무엇입니까? (예시분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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