首页 > 解决方案 > 为什么我不能更改导入到 Jupyter 笔记本中的 .py 文件中的变量?

问题描述

假设我有一个文件 a.py:

a = 0

def give_a():  
    return a

然后我有一个带有以下两个单元格的 Jupyter 笔记本:

from a import *

.

a = 10  
print(give_a())

这输出 0 而不是 10。

为什么它不输出 10,我该如何修复它呢?

标签: pythonjupyter-notebookpython-import

解决方案


它不会输出 10,因为Jupyter 笔记本中的aina.py和 the是两个不同的变量。a您应该看一下 Python 中变量的范围,例如参见在线教科书中的这一章

简单来说:

a = 0

def give_a():  
    return a  # refers to the variable a declared in the module
a = 10  # is declared within the Jupyter notebook
print(give_a())  # is a function in a.py

推荐阅读