Python OOP属性重置疑问:接收无序数值的TwoNumbers类构造需求解释
问题解答
「重置属性」含义解释
这里的「重置属性」和随机数赋值无关,结合需求中「构造器接收两个数字,无需知晓传入的数字顺序」的前置要求,它的含义是:构造器需要忽略两个入参的大小顺序,自动调整赋值逻辑,最终保证实例的small属性固定存储两个入参中的较小值,big属性固定存储两个入参中的较大值,你后续的理解是完全正确的。
最终实现合规性判定
你的最终版实现完全符合需求要求,原因如下:
- 你将大小判断逻辑放在了构造器
__init__中,实例初始化完成后,small和big两个属性本身的值就已经是符合要求的正确值,而非仅在打印时做展示层面的调整(你第一版将逻辑写在__repr__中的实现不符合存储要求,因为实例本身的属性值并没有被校正,只是输出时做了转换) - 完全满足「无需知晓传入参数顺序」的要求,无论传入的是(3,9)还是(9,3),最终实例的属性都会自动校正为small=3、big=9。
内容的提问来源于stack exchange,提问作者user16718429
相关产品推荐
相关产品推荐

