详解Python对象创建过程与类的公有、私有属性区别
对象的创建

创建对象的这个过程被称作实例化。一个对象被创建之后,它包含着三个方面的特性,分别是对象句柄、属性以及方法。
句柄用于区分不同的对象
对象的属性和方法与类中的成员变量和成员函数对应
通过创建类的一个实例(对象)obj ,可以利用该对象来调用方法和属性。
类的属性
类的属性按使用范围:公有属性和私有属性,
类的属性范围取决于属性的名称。
公有属性:在类中和类外都能调用属性。
私有属性:不能在类外及被类意外的函数调用。
定义方式:以“_”双下划线开始的成员变量就是私有属性
私有属性,能够通过 instance 加上类名再加上属性名的方式,即 instance._classname_attribute 来进行访问。
内置属性是在定义类的时候由系统默认添加的,它由前后双下划线构成,包括 dict 和 module。
#!/usr/bin/env python #-*-coding:utf-8-*- #@Time : 2018/1/11 15:48 #!@Auther:bestsky 文件名为 demon1-class attributes.py class People(object): color = "yellow" __age = 30 #私有属性 def think(self): self.color = "black" 打印(“我是一个” + self.color) # print self.__age ren = People() print ren print ren.color ren.think()
调用 ren._People__age 这个私有属性的方法,建议仅在程序测试时使用。
python 学习网是一个免费的学习网站,欢迎大家在线进行学习。
类的方法
方法的定义和函数一样,但是需要self作为第一个参数
类的方法为:
公有方法
公有方法:在类中和类外都能调用的方法
私有方法
私有方法具有这样的特点:不能在类的外部被调用。如果在方法的前面加上“__”这样的双下划线,那么这个方法就成为了私有方法。
类方法
类方法:被classmethod()函数处理后的函数,它既可以被类调用,又可以被对象调用,并且存在继承的关系。
静态方法
静态方法就如同“全局函数”,它能够被类直接进行调用,并且可以被所有实例化的对象所共享。静态方法是通过 staticmethod()来进行定义的,同时,静态方法不存在“self”这个参数。
self参数
用于区分函数和类的方法,这种方法必须有一个 self。self 参数的作用是表示执行对象本身。