一、
__init__是类中的私有函数,在实例化类的时候自动运行
其他的函数除非你调用,否则不会运行
class Q: #不需要继承别的父类的时候,可以不加括号 __init__(self,a,b): self.a=a self.b=b q=Q(A,B)
实际上计算机做的处理:
①申请一块内存,命名为q
②把q的地址和赋值参数传给Q
③自动运行__init__函数,如果__init__函数中有print,此时也会打印出来,把赋值给self的变量的内容传入q的内存中
此时你在函数外部也可以通过 q.变量名 调用此变量
二、
在类中给函数名/变量名前加上两个下划线“__”
此函数/变量就会变成私有的
在外部无法调用,即使实例化后,通过实例化的函数名.__变量名 也无法调用
有两个方法:
①在类中定义一个函数,把私有变量作为返回函数返回,这样调用这个函数的时候,就可以得到私有变量,例:
class Q:
__n=1
def get_n(self):
return self.__n
q=Q()
q.get_n()
得到:1
②
q._Q__n
Sign in to make a reply
一盒噪噪
一、
__init__是类中的私有函数,在实例化类的时候自动运行
其他的函数除非你调用,否则不会运行
实际上计算机做的处理:
①申请一块内存,命名为q
②把q的地址和赋值参数传给Q
③自动运行__init__函数,如果__init__函数中有print,此时也会打印出来,把赋值给self的变量的内容传入q的内存中
此时你在函数外部也可以通过 q.变量名 调用此变量
二、
在类中给函数名/变量名前加上两个下划线“__”
此函数/变量就会变成私有的
在外部无法调用,即使实例化后,通过实例化的函数名.__变量名 也无法调用
有两个方法:
①在类中定义一个函数,把私有变量作为返回函数返回,这样调用这个函数的时候,就可以得到私有变量,例:
class Q:
__n=1
def get_n(self):
return self.__n
q=Q()
q.get_n()
得到:1
②
class Q:
__n=1
q=Q()
q._Q__n