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

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


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
#类相关的内建函数
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

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

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











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值