从文件重新加载函数后,Python仍使用旧版本

时间:2019-05-31 16:29:55

标签: python python-import

我创建了以下file.py

def function():
  print('Hello')

我导入并调用此函数:

>>> from file import function
>>> function
<function function at 0x0000022BF425FB70>
>>> function()
Hello

现在,我将功能更改为打印“ Hello world”而不是“ Hello”并再次重新加载文件:

>>> from file import function
>>> function
<function function at 0x0000022BF425FB70>
>>> function()
Hello
>>> import inspect
>>> inspect.getsource(function)
"def function():\n\tprint('Hello world')\n"

让我感到困惑的是,实际上已经重新加载了新函数(可以从最后一行的函数源代码中看到),但是它仍然显示“ Hello”。这怎么可能?即使函数的源代码也没有变化,函数指针也没有改变。

编辑: 我认为这不是重复this问题。我不是在问如何重新加载功能。我想知道重新加载后如何更改源代码,Python仍然调用该函数的旧版本。

0 个答案:

没有答案