python类

一 类的定义:

(1)格式:

*class 类名(基类1,基类2...):

    data=value

    def method(self,...):

    ...


(2)特点:

*class是复合语句,所以任何类的语句都可以写入其主体内:print、if、def等;class语句在执行时,class内的所有语句都会执行;类的定义是可执行语句。

*在类中定义的变量是类的属性,由所有对象共享;实例的属性是通过在方法中self.name=value定义的;名字相同时实例属性会隐藏类属性。


(3)技巧:

*如果一个类不继承自其它类,,就显式的从object继承.,嵌套类也一样。继承自 object 是为了使属性(properties)正常工作,并且这样可以保护你的代码,使其不受Python 3000的一个特殊的潜在不兼容性影响。这样做也定义了一些特殊的方法,这些方法实现了对象的默认语义,包括 __new__, __init__, __delattr__, __getattribute__, __setattr__, __hash__, __repr__, and __str__ 。补充:python2.7是这样,python3.2声不声明object都一样,都包括上述属性。

*类中以双下划线开始的属性不能被直接访问。


二 类的属性:

(1)获取类属性:dir(类名)和类名.__dict__。

*__name__:类名(字符串)。

*__doc__:类文档。

*__module__:类定义所在模块。

*__bases__:类的父类构成的元组。


(2)实例属性:dir(实例名)和实例.__dict__。

*__class__:实例的类。


(3)类中特殊函数:



三 类的静态方法和类方法:

(1)定义方式:

*静态方法:在类的定义中,func=staticmethod(func)或@staticmethod函数修饰符。

*类方法:在类的定义中,func=classmethod(func)或@classmethod函数修饰符,类方法中类(cls)作为第一个参数。



四 继承:

(1)格式:

*class subclass(ParentClass...)

*子类的__bases__属性包含了其父类的元组。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值