首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Jupyter Notebook Python 3.7.1中执行函数后,变量发生更改

是因为函数在执行过程中可能会修改变量的值。这是因为在Python中,函数默认情况下是可以修改全局变量的。当我们在Jupyter Notebook中执行函数时,函数内部对变量的修改会影响到整个Notebook的环境。

为了避免函数对全局变量的修改带来的意外影响,可以采取以下几种方式:

  1. 使用函数的返回值:将函数的计算结果作为返回值,然后将返回值赋给一个新的变量。这样可以避免直接修改全局变量。
  2. 使用局部变量:在函数内部使用局部变量来存储计算结果,而不是直接修改全局变量。这样可以限制变量的作用范围,避免对全局变量的修改。
  3. 使用global关键字:如果确实需要在函数内部修改全局变量,可以使用global关键字来声明变量为全局变量。这样函数内部对变量的修改会影响到全局作用域。

总之,在Jupyter Notebook中执行函数后,变量发生更改是因为函数可以修改全局变量的特性。为了避免意外的变量修改,可以使用返回值、局部变量或者global关键字来控制变量的作用范围。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JupyterNotebook‘s Magic

python上试了试,报错,不行,后来去了jupyter上面发现是OK的,也就说这个统计耗时的黑魔法只能在jupyter上运行???...,这一切都变了: 一个百分号解决问题。...Magic 关键字是可以单元格中运行的特殊命令,能让你控制 notebook 本身或执行系统调用(例如更改目录)。...别名的优先级低于magic函数Python普通变量,因此如果“foo”既是Python变量又是别名,那么别名“del foo”删除Python变量之前不能执行。...如果一个异常刚刚发生,这允许您交互式地检查它的堆栈帧。注意,这将始终只发生的最后一次回溯上工作,所以必须在希望检查的异常触发之后快速调用这个函数,因为如果发生了另一个异常,它会重击前一个异常。

70610

15个节省时间的Jupyter技巧

%who:列出所有变量。 %timeit:记录一行代码的执行时间。 %debug:异常处输入调试器。 %matplotlib inline:notebook中显示图形。...2、执行另一个Jupyter notebook文件 可以使用魔术命令来做一些有趣的事情。例如,从py文件中执行python代码,或从ipynb文件中执行jupyter notebook。...%run将执行jupyter notebook并显示输出,这与导入python模块不同。 我们可以运行two-histogram notebook并得到如下输出: %run ....9、notebook之间传递变量 Jupyter notebook中,%store魔法命令可以notebook之间传递变量。...我们jupyter notebook执行单元格时,它将分配一个行号为ln: 当单元格完成执行时,我们会得到一个输出并且可以通过传递执行编号作为索引来访问它 Out是一个python字典,存储单元格的所有输出

2.1K40
  • Jupyter Lab 的 10 个有用技巧

    JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升级增加了很多功能。...它最大的更新是模块化的界面,可以同一个窗口以标签的形式同时打开好几个文档,同时插件管理非常强大,使用起来要比jupyter notebook高大尚许多。...但是使用jupyter run命令,可以像Python脚本一样顺序执行每个笔记本单元格。...上下文帮助显示游标指向的函数或类的实时文档。 最后,一种方法可以简单地函数或类名的末尾添加一个问号(不带括号): 8、终端命令和Python代码混合开发 这个功能看起来有点古怪,但它非常有用。...,可以代码单元格中运行任何终端命令。 还可以将这些命令的输出存储Python变量中。例如使用!pwd的输出将当前工作目录存储path变量中: path = !pwd 这里有一个更实际的例子。

    1.8K40

    Jupyter Notebook和Markdown知识点汇总

    Jupyter notebook的工具条 Cell Toolbar 更改单元展示式样 View中的功能可以让用户更好的展示自己的notebook,但对编写代码、实现功能没有影响。...关于Jupyter Notebook的一些信息 2.3 工具条 工具条中的功能基本上菜单中都可以实现,这里是为了能更快捷的操作,将一些常用按钮放了出来。...Code用于写代码,三类提示符及含义如下: 提示符 含义 In[ ] 程序未运行 In[num] 程序运行 In[*] 程序正在运行 四、魔法函数 使用魔法函数可以简单的实现一些单纯python要很麻烦才能实现的功能...后面加上魔法函数名称,可以查看该函数的说明 一些常用魔法函数的示例: 魔法函数 作用 %%writefile 调用外部python脚本 %run 调用外部python脚本 %timeit 测试单行语句的执行时间...设置为当异常发生时只展示简单的异常信息 %xmode Verbose 设置为当异常发生时展示详细的异常信息 %debug bug调试,输入quit退出调试 %env 列出全部环境变量 这些命令是Python

    2.4K00

    VsCode中使用Jupyter

    (以前称为IPython Notebook)是一个开源项目,可让您轻松地一个名为Notebook的画布上组合Markdown文本和可执行Python源代码。...powershell下运行,可以看到alias的一些信息 这个是一些标准库 https://jupyter-notebook.readthedocs.io/en/latest/ https://python3...智能感知是可用的 我写一个长例子,来说明变量表的使用 资源管理器和数据浏览器# Python Notebook Editor中,可以在当前的Jupyter会话中查看,检查和过滤变量。...注意:默认情况下,变量资源管理器处于启用状态,但可以设置中关闭(Python>数据科学:显示Jupyter变量资源管理器)。 可以关掉 绘图查看器 绘图查看器使您能够更深入地处理绘图。...需要的库要提前安装 运行出来的样子 点击图以后会有一些别的操作, python的另一种形式,左右分列式的 点Debug Cell 可以打断点,单步执行什么的 也可以看见下一步 停止 单步执行的操作

    6K40

    优化Jupyter Notebook:提示,技巧,nbextension,Productivity tips

    pip install 通过$符号前面添加shell命令中的Python变量: 魔术命令 Magic Commands是一种快捷方式,可显着扩展NoteBook的功能 从NoteBook...或%%js➡执行Javascript代码块 %%python3 ➡子进程中使用python3执行代码 %%ruby ➡执行Ruby代码 其他魔术命令: %history ➡打印输入历史记录 %lsmagic...Python语句或表达式 nbextensions 此扩展的好处是它更改了默认值。...计算完成(或失败)播放声音 将通知与您的操作系统集成(为GNOME shell做好准备) 跳转到变量函数或类的定义 为rpy2启用自动完成(非常适合ggplot2) 一个漂亮的表格视图中汇总字典...从其他NoteBook中选择性导入 出错或打开NoteBook时滚动到最近执行的单元格 交互式(跟随)尾部,用于长输出 注意:为了使其易于使用,将下面提供的代码段收集到Python3包(jupyter-helpers

    4.9K20

    Python进行数据分析的10个小技巧

    %matplotlib notebook 函数用于Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。...但记得这个函数要在导入matplotlib库之前调用。 %run 用%run函数notebook中运行一个python脚本试试。...这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作。退出调试器单击q即可。...然而通过notebook顶部添加以下代码段可以一次打印所有输出。 添加代码所有的输出结果就会一个接一个地打印出来。...结论 本文中,我列出了使用PythonJupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码!

    1.7K30

    收藏 | 10个可以快速用Python进行数据分析的小技巧

    %matplotlib notebook 函数用于Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。...但记得这个函数要在导入matplotlib库之前调用。 ? %run 用%run函数notebook中运行一个python脚本试试。...这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作。退出调试器单击q即可。 ?...然而通过notebook顶部添加以下代码段可以一次打印所有输出。 添加代码所有的输出结果就会一个接一个地打印出来。...结论 本文中,我列出了使用PythonJupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码!

    1.4K50

    18 个 Jupyter Notebook 小技巧,帮助你快速腾飞

    2、漂亮的显示变量 我们都知道,通过使用变量名或语句的未赋值输出完成Jupyter单元格,Jupyter将显示该变量,而不需要print语句。...但是鲜为人知的是,我们可以修改一个 ast_note_interactivity 选项,使Jupyter对自己行中的任何变量或语句执行此操作,这样我们就可以一次看到多个语句的值。...Python代码 %run可以从.py文件执行python代码——这是一个有很好方法,但是却很少有人知道,它还可以执行其他jupyter notebook,这也非常有用。...9、IPython 魔法-%store notebook之间传递变 %store命令允许我们两个不同的notebook之间传递变量。...有自己的Python调试器(pdb)接口,这样就可以进入函数内部并调查那里发生了什么。

    1.2K20

    jupyter notebook的安装与使用

    简单的介绍就是:Jupyter Notebook是Ipython的升级版,而Ipython可以说是一个加强版的交互式 Shell,也就是说,它比terminal里运行python会更方便,界面更友好,...A.魔术命令 IPython 的会话环境中,所有文件都可以通过 %run 命令来当做脚本执行,并且文件中的变量也会随即导入当前命名空间。...常用的魔术命令有: %quickref 显示 IPython 快速参考 %magic 显示所有魔术命令的详细文档 %debug 从最新的异常跟踪的底部进入交互式调试器 %pdb 异常发生自动进入调试器...python myfile.py D.导入外部代码 比如有一个test.py文件,需要将其载入到jupyter的一个cell中 需要导入该段代码的cell中输入 shift + enter运行,%...五、其他技巧 1)更改Jupyter notebook的工作空间(主目录) Jupyter的工作空间在其配置文件ipython_notebook_config.py中。

    78720

    掌握这7个Python特殊技巧!数据分析的工作随你挑!

    Jupyter 中的格式编排 5. Jupyter 快捷键 6. Jupyter(或 IPython)中使一个单元同时有多个输出 7. 为 Jupyter Notebook 即时创建幻灯片 1....然后,当你最终修复问题,你还得返回并再次删除所有 print() 语句。 不过以后再也不用这样了。遇到问题只需执行 %debug 命令,即可执行想要运行的任意代码部分: ? 上图中发生了什么?...问题显而易见:我们把'6'作为字符串输入到函数中了! 这对于更复杂的函数非常有用。 %store: notebook 之间传递变量 这个命令也很酷。...使用%store 命令,这些操作都不需要!该命令将存储变量,你可以在其他任意 notebook 中检索该变量: %store [variable] 存储变量。...注意,选中多个单元格,你可以批量执行删除/复制/剪切/粘贴/运行操作。 6.

    77720

    Jupyter-Notebook使用技巧

    安利10个Jupyter Notebook使用技巧 如果你用Python做开发,那么首选Pycharm;但是如果你想用Python做数据分析、数据挖掘,以及火热的机器学习和人工智能项目,Jupyter...notebook在内的各种Python工具和包,能够很好地解决各种环境问题。...notebook 我们想启动的目录下直接输入如下命令(macOS系统): root:~ peter$ jupyter notebook # 输入jupyter notebook,立马启动 如果是...输出多个变量 notebook中默认只会输出最后一个变量的结果,比如下面的例子中变量a就没有输出 ?...%run可以从.py文件中执行python代码,也可以指定ipynb文件 %whos 查看当前变量 %reset 清楚当前变量 %timeit 测试单行代码运行时间 Jupyter Notebook

    1.4K40

    jupyter notebook的安装与使用详解

    简单的介绍就是:Jupyter Notebook是Ipython的升级版,而Ipython可以说是一个加强版的交互式 Shell,也就是说,它比terminal里运行python会更方便,界面更友好,...A.魔术命令 IPython 的会话环境中,所有文件都可以通过 %run 命令来当做脚本执行,并且文件中的变量也会随即导入当前命名空间。...常用的魔术命令有: %quickref 显示 IPython 快速参考 %magic 显示所有魔术命令的详细文档 %debug 从最新的异常跟踪的底部进入交互式调试器 %pdb 异常发生自动进入调试器...cmd 系统 shell 执行 cmd output=!...,然后运行该cell,就会将load后面所对应地址的代码load到当前的cell中; 五、其他技巧 1)更改Jupyter notebook的工作空间(主目录) Jupyter的工作空间在其配置文件ipython_notebook_config.py

    1.5K41

    10个小技巧:快速用Python进行数据分析

    %matplotlib notebook 函数用于Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。...但记得这个函数要在导入matplotlib库之前调用。 ? %run 用%run函数notebook中运行一个python脚本试试。...这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作。退出调试器单击q即可。 ?...然而通过notebook顶部添加以下代码段可以一次打印所有输出。 添加代码所有的输出结果就会一个接一个地打印出来。...结论 本文中,我列出了使用PythonJupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码! End.

    1.3K21

    青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook的新型编程环境

    nbdev 允许用户 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...遵循最佳实践自动创建 Python 模块,如利用导出函数、类和变量自动定义 __all__; 标准文本编辑器或 IDE 中执行代码导航和编辑,并将所有更改自动导出回 notebook 中; 基于代码自动创建可搜索的超链接文档...它帮助我试验算法立即得到视觉化反馈。...当你将这些 diff 视觉化呈现时,你会确切了解到底发生了什么。 ? ReviewNB 中的视觉化 diff,展示了表格输出的更改。...无需作出任何更改,它就能在 nbdev 中良好运行。而这只是基于 Jupyter Notebook 构建开发环境所免费获取的部分 Jupyter 功能而已。

    84020

    青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook的新型编程环境

    nbdev 允许用户 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...遵循最佳实践自动创建 Python 模块,如利用导出函数、类和变量自动定义 __all__; 标准文本编辑器或 IDE 中执行代码导航和编辑,并将所有更改自动导出回 notebook 中; 基于代码自动创建可搜索的超链接文档...它帮助我试验算法立即得到视觉化反馈。...当你将这些 diff 视觉化呈现时,你会确切了解到底发生了什么。 ? ReviewNB 中的视觉化 diff,展示了表格输出的更改。...无需作出任何更改,它就能在 nbdev 中良好运行。而这只是基于 Jupyter Notebook 构建开发环境所免费获取的部分 Jupyter 功能而已。

    99410

    青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook的新型编程环境

    nbdev 允许用户 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...遵循最佳实践自动创建 Python 模块,如利用导出函数、类和变量自动定义 __all__; 标准文本编辑器或 IDE 中执行代码导航和编辑,并将所有更改自动导出回 notebook 中; 基于代码自动创建可搜索的超链接文档...它帮助我试验算法立即得到视觉化反馈。...当你将这些 diff 视觉化呈现时,你会确切了解到底发生了什么。 ? ReviewNB 中的视觉化 diff,展示了表格输出的更改。...无需作出任何更改,它就能在 nbdev 中良好运行。而这只是基于 Jupyter Notebook 构建开发环境所免费获取的部分 Jupyter 功能而已。

    76030

    10个可以快速用Python进行数据分析的小技巧

    %matplotlib notebook 函数用于Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。...但记得这个函数要在导入matplotlib库之前调用。 ? %run 用%run函数notebook中运行一个python脚本试试。...这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作。退出调试器单击q即可。 ?...然而通过notebook顶部添加以下代码段可以一次打印所有输出。 添加代码所有的输出结果就会一个接一个地打印出来。...结论 本文中,我列出了使用PythonJupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码!

    1.8K20

    一文弄懂Jupyter的配置与使用(呕心沥血版)

    安装完成命令提示符或终端窗口中输入以下命令来启动 Jupyter Notebookjupyter notebook 这个命令会自动打开你的默认浏览器,展示 Jupyter Notebook...安装完成 Anaconda Navigator 中点击 “Launch” 按钮启动 Jupyter Notebook,也可以命令提示符或终端窗口中输入以下命令来启动: jupyter notebook...因此,使用桌面快捷方式启动 Jupyter Notebook 时,快捷方式实际上是通过执行如下命令来打开它的: C:\Anaconda3\python.exe C:\Anaconda3\cwp.py...这是因为 Jupyter 中,所有单元格都运行在同一个 Python 内核中,所以它们之间可以共享变量函数和模块等资源。...如果用户将一个循环拆分成两个单元格,那么第二个单元格就无法访问第一个单元格定义的变量,也就无法正确执行循环。

    18.3K84

    7个Python特殊技巧,助力你的数据分析工作之路

    Jupyter 中的格式编排 5. Jupyter 快捷键 6. Jupyter(或 IPython)中使一个单元同时有多个输出 7. 为 Jupyter Notebook 即时创建幻灯片 1....然后,当你最终修复问题,你还得返回并再次删除所有 print() 语句。 不过以后再也不用这样了。遇到问题只需执行 %debug 命令,即可执行想要运行的任意代码部分: ? 上图中发生了什么?...问题显而易见:我们把'6'作为字符串输入到函数中了! 这对于更复杂的函数非常有用。 %store: notebook 之间传递变量 这个命令也很酷。...使用%store 命令,这些操作都不需要!该命令将存储变量,你可以在其他任意 notebook 中检索该变量: ? %store [variable] 存储变量。...注意,选中多个单元格,你可以批量执行删除/复制/剪切/粘贴/运行操作。 6.

    1.2K10
    领券