Home  >  Article  >  Backend Development  >  What are python class attributes? What are the private properties of a class? (Example analysis)

What are python class attributes? What are the private properties of a class? (Example analysis)

乌拉乌拉~
乌拉乌拉~Original
2018-08-22 17:17:023005browse

In this article, let’s learn about the knowledge about classes. Some friends may have just come into contact with the programming language python and do not have a special understanding of python class attributes, but It doesn't matter. The next article will take you to learn about python class attribute method. Okay, without further ado, let's get into the article and start learning.

Private attributes of the class

__private_attrs: starting with two underscores, declares that the attribute is private and cannot be used or directly accessed outside the class. Used in methods inside the class or accessed directly. When using self.__private_attrs in a method inside a class.

Class methods

Within the class, you can use the def keyword to define a method for the class. Unlike general function definitions, class methods must include the parameter self, and is the first parameter.

Private methods of the class

__private_method: Starting with two underscores, the method is declared as a private method and cannot be called outside the class. Call self.__private_methods inside the class.

An example is as follows:

#!/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 Change the name to include the class name:

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 does not allow instantiated classes to access private data, but you can use object._className__attrName (Object name._Class name__Private attribute name) To access attributes, refer to the following example:

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

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

After executing the above example, the output is as follows:

www.runoob.com

The above is what this article describes All content, this article mainly introduces the relevant knowledge of python class attribute method. I hope you can use the information to understand the above content. I hope what I have described in this article will be helpful to you and make it easier for you to learn python.

For more related knowledge, please visit the Python tutorial column on the php Chinese website.

The above is the detailed content of What are python class attributes? What are the private properties of a class? (Example analysis). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn