Python类以及变量
python函数变量就有如下几种:
全局变量
局部变量
类变量
实例化变量
其中全局变量:是指在这个文件中所有的函数以及其它操作都可以访问并使用这个变量。
局部变量:是指定义在函数内部的局部变量,当执行完这个函数时则被销毁。使用的生命周期为这一个函数运行。如果想要在函数内部里申请一个全局变量的话则需要添加 golabe 这个关键字。
类变量:是指定义在函数内部的变量。操作这个变量的函数为类函数。类函数的定义为:@classmethod def A(cls): pass
类函数的使用时通过类名.变量名称进行调用。
实例化变量:实例化变量是定义在__init__(self里面的函数变量,一般使用为self.变量=数据。
其中还有私有数据以及私有函数。其中私有数据是在数据前加两个下划线。这样操作后,就不能直接拿到定义在类中的私有数据和私有函数。但是调用一个非私有函数时,并且这个函数里面有私有数据和私有函数则可以使用和展示。
python类之间的调用
在类中互相调用函数:只需要self.函数名(参数)即可。
在不通类之间的调用函数
主要有三种操作:
第一:在类函数中创建一个另一个类对象然后通过对象名调用对应的函数。
class A:
def __init__(self,a1="",a2="",a3=""):
self.a1=a1
self.a2=a2
self.a3=a3
def b(self,name):
print(F"you name{name}")
class C:
def b1(self,name):
print(F"you name{name}")
这样我要在A类中的b函数中使用C类中的方法b1可以的操作为在b函数生成一个C类的一个对象然后用生成出来的对象来进行调用C内中的函数。这样的话每户调用c都会创建一个C类中的对象。
class A:
def __init__(self,a1="",a2="",a3=""):
self.a1=a1
self.a2=a2
self.a3=a3
def b(self,name):
print(F"you name{name}")
c1=C()
c1.b1("name")
class C:
def b1(self,name):
print(F"you name{name}")
第二:在A中的初始化init中创建一个实例化变量让它为C类的函数对象。然后就可以在其他函数中使用self.变量.C中的函数(),这样的话就相当于绑定在类A中A每创建一个对象都会创建一个类C的对象。
class A:
def __init__(self,a1="",a2="",a3=""):
self.a1=a1
self.a2=a2
self.a3=a3
self.c=C()
def b(self,name):
print(F"you name{name}")
self.c.b()
class C:
def b1(self,name):
print(F"you name{name}")
第三:是将C函数的对象作为参数传入到要使用C内中的函数中。这样直接传入的就是一个对象直接使用对象.函数名就可以使用C类中的函。
class A:
def __init__(self,a1="",a2="",a3=""):
self.a1=a1
self.a2=a2
self.a3=a3
def b(self,name,object1):
print(F"you name{name}")
print(object1.b1("name"))
class C:
def b1(self,name):
print(F"you name{name}")