Python 入门基础 - 类

概要:

 

类只负责封装,定义,描述行为,尽量不要再类内部调用内部方法

方法函数区别:

方法:强调涉及

函数:类里的方法

数据成员:类里面的变量

类 - 行为,特征

构造函数, 构造函数 只能返回None

注意类变量 实例变量区别, 如果与对象相关,则应该使用self.xxx, 所以此处的name/age 定义在类变量里并不合适!

Python中实例变量找不到时会向上级的类变量中找,如果再找不到 会像父类里找

打印类变量:因为没有定义实例变量, 所以通过__dict__打印出为空字典

下图则定义了实例变量, 通过__dict__可以查看到 该类中的实例变量不为空了

理解self:

实例方法, 代表了实例(只与对象相关)

访问类变量的方法:

类方法:通过类调用,一般为与类相关的方法, 如sum 等

静态方法 ,不需要传入特定参数 , 类似普通的函数, 类方法,与类无关, 少用

 

私有方法:

只在方法前面加__

如果在方法前后都加下划线 不认为是似有方法

 

私有变量:

此处虽然在line15行调用了st1.__score 并赋值为-3,但是 实际是创建了一个新的student对象里的变量 而不是原来的 line7中的__score, 看output 可以看出来。 其实python中并不存在私有变量, 通过__dict__可以看出 python 将定义的私有变量__score 转换成为了_Student__score, 所以如果通过实例名._Student_score还是可以访问到的。不过我们不会可以去更改。

 

 

继承:

需要import 父类,

在调用父类时,需要加入self 这个参数, 因为类调用是列方法, 父类并不知道 对象是什么, 所以不推荐

 

正确的继承方法如下 , 另外, Human中要加入object这个经典类, 否则会报错,如下图cmd 94中的错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值