小编Pho*_*ton的帖子

将方法从公共转移到私有的效果

我正在做一些代码清理,并开始想知道某些事情.

假设我有一个程序可以编译,运行,并且通常会执行它应该执行的操作.

现在我将某个类成员方法从公共移动到私有(或受保护),代码仍然编译而没有错误.
理论上是否可能有这样一种场景,即程序的行为会因代码更改而发生变化?
如果是这样,我很乐意看到一个例子.

c++

8
推荐指数
1
解决办法
195
查看次数

Python 全局变量和回调

我正在编写一个程序,该程序涉及从另一个模块调用的回调,并且需要访问全局变量。
似乎在回调函数中看不到分配给全局变量的更改,它只能看到原始分配。我猜是由于从另一个模块导入。
编写此模式的正确方法是什么?

第一个模块:

# a.py
from b import runb

myGlobal=None

def init():
    global myGlobal
    myGlobal=1

def callback():
    print myGlobal

def main():
    init()
    runb()

if __name__=='__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

第二个模块:

#b.py
def runb():
    from a import callback
    callback()
Run Code Online (Sandbox Code Playgroud)

我希望这个程序打印“1”,但它打印“无”

编辑:init 只能被调用一次(它是一个复杂程序的简化)

python

3
推荐指数
1
解决办法
2895
查看次数

标签 统计

c++ ×1

python ×1