python自学笔记(7)--Python类

来源:互联网 发布:烟台青少年编程培训 编辑:程序博客网 时间:2024/05/29 18:11
python自学笔记(7)--Python类


Python中的类是一个可调用对象,即类对象。Python中允许多重继承,也就是说可以有多个并行父类。
P.S.python中貌似没有类似于java中的静态方法,也就是python中类无法直接调用方法,但是python中类可以直接调用类的属性(数据变量)。
通过调用类来创建实例。Instance = Classname(arg)
类中每个方法都必须具有self参数,它隐含当前实例之意。
在方法内对self属性做赋值运算会产生每个实例自己的属性

Python规定,没有实例,方法不允许被调用,此即为“绑定”。

class BaseClass():    data = 'hello BaseClass'#类属性    passclass 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()#333print(test.data)#ddddddd
#类相关的内建函数
print(issubclass(TestClass,BaseClass))#判断是否父子关系Trueprint(isinstance(test,TestClass))#判断是否是实例和类的关系Trueprint(isinstance(test,BaseClass))#Trueprint(hasattr(test, "data"))#判断对象内是否有指定属性,还有getattr(),setattr(),delattr().Trueprint(hasattr(test, "datad"))#False

__init__是类的构造器,如果不调用构造器,在类实例化之初,只是实例了一个类的名称,可以在创建类实例的时候通过重载构造器初始化实例中的变量。

def __init__(self, x):    self.value = x
属性搜索顺序:由下而上,由左至右。











原创粉丝点击