一、self:
1.self出现在函数的第一个参数处,并且用self调用属性
class Test:
def prt(self):
print(self)
print(self.__class__)
t = Test()
t.prt()
# <__main__.Test object at 0x000002785C8A1B80>
# <class '__main__.Test'>
2.self出现在函数的第一个参数处,并且用类名调用属性
class NUM:
num=0
objnum=0
def init(self):
self.num+=1
NUM.objnum+=1
def getnum(self):
3.self用在类的构造函数中class NUM:
二、init:
1.带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。
2、init函数(方法)支持带参数的类的初始化,也可以为声明该类的属性
3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用别的名字),后面的参数则可以自由定义,和定义函数没有任何区别。(释:self,英文单词意思很明显,表示自己,本身)。此处有几种潜在的含义
三、成员函数调用:
在python中,在类方法和类的静态成员函数中,不能访问非静态的成员函数。
2 在类的非静态成员函数中, 可以使用 类名.静态成员变量 访问类的静态成员变量,注意:
此时,如果在类的成员函数中,使用self.value3 (和静态成员变量名同名),那么这个value3也不是静态成员变量的那个value3
3 如果要访问类的静态成员变量必须使用 类名.变量名 的方式访问