python之class(1)

程序是一系列对象的相互作用
装饰器:面向切面
函数是编程
面向对象的三大特性:继承、多态和封装

(1)定义一个类
init( )是类的初始化方法 ,在init( )方法里声明的属性是实例属性,其中self代表对象本身
第一个参数是self的方法,叫做实例方法,实例方法在使用之前必须实例化
这里写图片描述
运行结果
这里写图片描述
其中zhangsan和wangwu都是对象,他们都拥有name,age,number这些属性,他们还有eat,walk和talk方法,有些方法例如talk是需要传参的,其中self这个参数不需要手动传参,解释器自动传参

(2)类的类型
新式类,继承object
经典类 ,不继承任何类
object是所有类的基类
这里写图片描述
运行结果
这里写图片描述

(3)
属性也可以在一个实例方法中定义,但是一般不使用这样的方法
这里写图片描述
运行结果
这里写图片描述

因为number属性是在实例方法test中才定义的,所以需要先使用test方法
这里写图片描述
运行结果
这里写图片描述

(4)私有方法
以双下划线开头,但是不以双下划线结尾,在外部看不到私有方法,
这里写图片描述
运行结果
这里写图片描述
这种私有方法需要在类的某个方法内部调用,不能在外部调用
这里写图片描述
运行结果
这里写图片描述

(5)私有属性
私有属性与私有方法一样需要写一个方法给一个接口
这里写图片描述
运行结果
这里写图片描述

(6)类变量
类变量可以通过实例访问,也可以通过类名直接访问
这里写图片描述
运行结果
这里写图片描述

(7)
通过实例修改类变量,不会修改其他实例,也不会影响类本身
这里写图片描述
运行结果
这里写图片描述
(8)类方法的定义
加上装饰器@classmethod
在类方法中严禁操作实例属性,实例方法中也不能调用类方法
类属性与实例属性类似,可以在类方法中定义,并且在类方法中定义的类属性需要先调用该方法才能使用
这里写图片描述
运行结果
这里写图片描述

(9)静态方法
@staticmethod装饰器,不再需要cls参数。
这里写图片描述
运行结果
这里写图片描述

可以通过实例调用也可以通过类直接调用,但是不能调用cls的其他值
这里写图片描述
运行结果
这里写图片描述

(10)魔术方法
被@property装饰的方法不再是一个方法,而是一个属性
也叫做get方法
这里写图片描述
运行结果
这里写图片描述

(11)
与get方法对应的有一个set方法,set方法用于给属性赋值。
@函数名.setter
def 函数名(self,value):

这里写一个以10进制输入,以2进制输出的get方法和set方法。
这里写图片描述
运行结果
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值