使用python的传递参数达到类静态变量的效果

本文探讨了在Python中如何模拟Java的类静态变量,以解决在多层类实例间共享数据的问题。作者通过在类中传递参数的方式,利用构造函数的`parent`参数来实现类间的数据传递,从而达到类似静态变量的效果。这种方法允许在程序的任意位置修改其他类的参数,提高了代码的灵活性。

有时候用python,就希望有类似Java的类静态变量,这样就可以方便很多,但我翻遍了《python基础教程》(我的python启蒙书),也没有找到关于类静态变量的描述,但是书上有这么一段话。
在这里插入图片描述
比如我的主窗口是CMainWindow类(类名不重要,继承自QMainWindow),在该类实例self中部署textEdit,为该类实例化的界面的按钮中添加的响应函数edit中新建类Dialog的实例并show()如图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后在Dialog类中再添加方法函数,再进行实例化,这时我如果想在Dialog2,Dialog3…等类中修改CMainwindow实例的textEdit,就比较麻烦(我承认我排版有点问题,这代码再加以优化会更优雅,可能不会遇到这个问题),如果有一个静态的类变量如CMainwindow.textEdit就好了,但是没有,也可能有,但是我不知道,去找它费时费力,既然如此,那就传递参数吧。python类的每个方法第一个参数都是self,我们观察代码可以看到继承自QDialog和qtdesigner转换后的类的构造函数的第二个参数parent可以加以利用,那么我们可以用Dialog类的变量(这里取名board)来接收CMainwindow的实例,然后可以再用Dialog2类的变量来接收Dialog类的实例,依次类推,就可以将参数传递下去,在程序中任何一个位置都可以修改其他类的参数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

returnadsss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值