鱼C论坛

 找回密码
 立即注册
查看: 3144|回复: 2

属性定义在初始化方法和其他方法中定义区别

[复制链接]
发表于 2022-10-13 14:52:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python类中,定义属性变量在初始化方法中定义和在后面的方法(普通的方法)中定义有什么区别?为什么有时在初始化方法就定义了属性,有时在后面其他方法中定义?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-13 15:08:28 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-13 15:45 编辑

        按道理,任何对象的所有属性都应该在创建对象的时候全部就绪,并完成初始化,这样,对象的各个方法是并联关系,就是说,各方法可以不分先后随意使用,但是,Python 对象允许用户在普通的类方法中随时添加新的属性。这样做的结果,使对象方法(至少是部分方法)是串联关系,就是说,某些方法的调用需要遵循一定的顺序,否则,如果在新的属性尚未被添加的时候进行了访问,就会使程序奔溃,这样看的话,这种特性其局限性也是蛮大的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-13 15:11:02 | 显示全部楼层


不太理解你的问题,你的意思是像我下面代码两种情况定义a吗,如果是的话,在调用前就要定义就可以了

比如我的a如果在if内会被判断或者赋值,那么a要写在if前,不然你什么时候用上就赋值就好
a =2

if ........
    a = 2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 23:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表