Python: Class Properties, instance properties, private properties and static methods, class methods, instance methods

Source: Internet
Author: User

From:http://www.cnblogs.com/pengsixiong/p/4823473.html

Attributes are divided into instance properties and class properties

Methods are divided into ordinary methods, class methods, static methods

One: Properties:

As far as possible, the attributes that need to be passed in as instance properties are used as properties of the same class. Instance properties are initialized once for each class created, the instance properties of different instances may be different, and the class properties of the different instances are the same. thus reducing memory.

1: Instance Properties:

Preferably in __init__ (self,...) Initialization in

Internal calls need to be self-added.

External call with Instancename.propertyname

2: Class Properties:

Initialize outside __init__ ()

Called internally with the ClassName. Class Property name

External can be used ClassName. Class property names can also be invoked with the InstanceName. Class property name.

3: Private Property:

1): Single underline _ Start: Just tell someone that this is a private property and that the external access can still be changed

2): Double underline __: External cannot be visited or changed by Instancename.propertyname

Actually convert it to _classname__propertyname

Two: Methods

1: Common class Method:

def fun_name (self,...):

Pass

External Use instance invocation

2: Static method: @staticmethod

Cannot access instance Properties!!! Parameter cannot be passed into self!!!

Methods that are related to classes but do not depend on classes and instances!!

3: Class method: @classmethod

Cannot access instance Properties!!! Parameters must be passed in cls!!!

You must pass in the CLS parameter (that is, the-----difference that represents such an object------self represents the instance object), and use this call Swimming class property: CLS. Class Property Name

* Both static and class methods can be invoked through classes or instances. Two of its features are not able to invoke instance properties

  

E.G1:

  1. Class A:
  2. member = "This is a test."
  3. def __init__ (self):
  4. Pass
  5. @classmethod
  6. def Print1 (cls):
  7. print "Print 1:", cls.member
  8. def Print2 (self):
  9. print "Print 2:", self.member
  10. @classmethod
  11. def Print3 (paratest):
  12. Print "Print 3:", Paratest.member
  13. @staticmethod
  14. def print4 ():
  15. print "Hello"

Summary: Class properties and class methods are intrinsic to the class and properties, not because of the different instances of the change, write their purpose is to reduce the number of instances created by the memory space, speed up the operation.

Python: Class Properties, instance properties, private properties and static methods, class methods, instance methods

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.