为了账号安全,请及时绑定邮箱和手机立即绑定

python 变量全局化

python 变量全局化

收到一只叮咚 2019-04-06 16:57:30
我在Base模块中建立了一个类:classBase(object):defdo_something(self):pass在main文件中,我这么做:importBaseclassSub(Base.Base):pass在Base类中,do_something()是需要访问main的命名空间的。也就是说Base类不会被实例化,但是会从别的地方(main中)继承Base.Base,然而继承而来的do_something()命名空间不是main的。我想保持main文件的整洁,该如何修改Base文件来使继承下来的方法do_somgthing能访问main的命名空间?
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

我觉得思路不对,应该从OOP的角度思考。
作为一个单一职责的Base类,他怎么会去关心调用他的类的东西呢?解决方案也很简单,Base类既然在解决一些问题(do_something),而要解决这些问题,需要一些支持(用你的话说是从main中获取信息),那么main在调用do_something的时候就应该将需要的参数传给他。具体实现方法:
方法一:在main的构造函数中将参数传递给base;
方法二:在main中需要调用do_something的地方传递需要的参数给他。
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 308 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信