python自学笔记(7)--Python类
Python中的类是一个可调用对象,即类对象。Python中允许多重继承,也就是说可以有多个并行父类。
P.S.python中貌似没有类似于java中的静态方法,也就是python中类无法直接调用方法,但是python中类可以直接调用类的属性(数据变量)。
通过调用类来创建实例。Instance = Classname(arg)
类中每个方法都必须具有self参数,它隐含当前实例之意。
在方法内对self属性做赋值运算会产生每个实例自己的属性
Python中的类是一个可调用对象,即类对象。Python中允许多重继承,也就是说可以有多个并行父类。
P.S.python中貌似没有类似于java中的静态方法,也就是python中类无法直接调用方法,但是python中类可以直接调用类的属性(数据变量)。
通过调用类来创建实例。Instance = Classname(arg)
类中每个方法都必须具有self参数,它隐含当前实例之意。
在方法内对self属性做赋值运算会产生每个实例自己的属性
Python规定,没有实例,方法不允许被调用,此即为“绑定”。
class BaseClass(): data = 'hello BaseClass'#类属性 pass class TestClass(BaseClass):#括号内是父类名称 data = 'ddddddd'#类属性,先找这个变量,后找父类的变量 def hehe(self):#类中每个方法都必须具有self参数,它隐含当前实例之意 print(self.value) def haha(self,x): self.value = x#在方法内对self属性做赋值运算会产生每个实例自己的属性 test = TestClass()#实例化类时,value还没有被赋值和初始化 test.haha(333) test.hehe()#333 print(test.data)#ddddddd
#类相关的内建函数
__init__是类的构造器,如果不调用构造器,在类实例化之初,只是实例了一个类的名称,可以在创建类实例的时候通过重载构造器初始化实例中的变量。print(issubclass(TestClass,BaseClass))#判断是否父子关系True print(isinstance(test,TestClass))#判断是否是实例和类的关系True print(isinstance(test,BaseClass))#True print(hasattr(test, "data"))#判断对象内是否有指定属性,还有getattr(),setattr(),delattr().True print(hasattr(test, "datad"))#False
def __init__(self, x): self.value = x属性搜索顺序:由下而上,由左至右。