effective python 读书笔记 之22 ——为什么要用类?

尽量用辅助类维护程序的状态,而不是用字典或者数组

公交车上看后整理的,如有疑问,欢迎留言讨论。
起因是这样的需求:

根据输入的名字和成绩,计算平均成绩。
然后根据输入的名字和成绩以及学科,分别计算平均成绩。
然后根据输入的名字和成绩以及学科和权重,分别计算平均成绩。

因为需求不断的变化,导致维护成本不断的提高。

这个过程中:
1.如果用字典的话,会导致业务逻辑变得非常复杂,难以理解,而且如果后面加的东西越多,会导致for循环多层嵌套, 代码的维护成本会非常高。

2.考虑简单的方法,可以使用nametuple的方式,但是nametuple有一个问题,没有默认值,而且nametuple在值多的时候,同样难以维护,可能使用者不明白参数的含义而导致误用。。

3.最终好的解决办法,就是创建辅助类工具,这样,初期的代码量可能很大,但是后期再增加需求,只用增加相应的函数即可。

还学到的一些知识点:

在类里面的函数里面变量,可以直接赋值给对象,这样下来,就可以直接使用类的方法了。
如果写辅助类的方法,可以大量的减少for循环的使用,代码会非常清晰

参考: effective python 59个高效方法 22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值