python - 为什么我不能更改导入到 Jupyter 笔记本中的 .py 文件中的变量?
问题描述
假设我有一个文件 a.py:
a = 0
def give_a():
return a
然后我有一个带有以下两个单元格的 Jupyter 笔记本:
from a import *
.
a = 10
print(give_a())
这输出 0 而不是 10。
为什么它不输出 10,我该如何修复它呢?
解决方案
它不会输出 10,因为Jupyter 笔记本中的a
ina.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
推荐阅读
- python - 迄今为止的熊猫 df 列
- java - Itext Pdf可以提取文本但不能使用所有者密码从pdf复制页面?
- flutter - 未处理的异常:“字符串”类型不是“地图”类型的子类型
' 当在颤动中重置密码时 - excel - 如何在图表上绘制水平线(基于某个 y 值/级别)并为其创建图例(VBA)
- python - 我正在尝试制作一个简单的 Discord.Py 机器人,它能够播放音乐但不断出现相同的错误
- python - 从 for 循环调用对象失败
- linux - USB挂载Linux权限的问题
- javascript - React & Babel: You may need an additional loader to handle the results of these loaders
- vb.net - 安装安装程序 vb.net 后系统托盘图标不显示
- swift - 删除联系人后,由于iCloud,联系人记录会重新出现吗?