如何配置 IPython 以与普通 Python REPL 相同的方式执行单元块?

2024-02-21

普通 Python REPL:

>>> 'na'
'na'
>>> for i in range(4):
...     f'{_+_}'
... else:
...     'batman'
... 
'nana'
'nananana'
'nananananananana'
'nananananananananananananananana'
'batman'
>>> 

具有相同解释器的 IPython REPL:

>>> 'na'
'na'
>>> for i in range(4): 
...     f'{_+_}' 
... else: 
...     'batman' 
...
>>> _
'na'

这个区别是显然与IPython编译代码的模式有关 https://stackoverflow.com/a/46029260/674039,并且与显示挂钩 https://docs.python.org/3/library/sys.html#sys.displayhook。是否可以将 IPython 配置为像普通 Python REPL 一样编译/执行单元块?我希望 IPython 不会干扰或修改此类底层运行时机制。


Set the InteractiveShell.ast_node_interactivity https://ipython.readthedocs.io/en/stable/config/options/terminal.html#configtrait-InteractiveShell.ast_node_interactivity设置为'all',或者通过%config魔法命令:

%config InteractiveShell.ast_node_interactivity='all'

或者在你的ipython_config.py

c.InteractiveShell.ast_node_interactivity = 'all'

这将导致 IPython 编译所有内容'single'mode,触发的模式sys.displayhook, 代替'exec'模式,不使用sys.displayhook.


可能的设置InteractiveShell.ast_node_interactivity目前是

  • 'all': 编译所有内容'single' mode.
  • 'last':编译单元格的最后一个(简单或复合)语句'single'模式。不同于'all'在类似的情况下

    In [7]: for i in range(5):
       ...:     i
       ...: for i in range(3):
       ...:     i
       ...:     
    Out[7]: 0
    Out[7]: 1
    Out[7]: 2
    

    'all'会打印的值i来自两个循环。

  • 'last_expr':编译单元格的最后一条语句'single'mode 如果该语句是表达式语句。这是 IPython 的默认设置。

  • 'none': 编译所有内容'exec' mode.

  • 'last_expr_or_assign': like 'last_expr',但是如果最后一个语句是赋值语句,则执行一些额外的 AST 转换来打印分配的值:

    In [2]: xyz = "something else"
    Out[2]: "something else"
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置 IPython 以与普通 Python REPL 相同的方式执行单元块? 的相关文章

  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 使用 Azure API 管理模拟故障转移

    Azure API 管理支持多区域部署 这对于我们的 API 和后端服务的 HA 非常有用 我们正在使用它来测试我们的多区域部署 但是 我们如何测试它呢 我们如何模拟或手动触发 API 管理上的故障转移 提前致谢 APIM 的优质捆绑提供了
  • 使用 xargs 进行并行 Python 脚本

    我目前有一个 bash 脚本 script sh 带有两个嵌套循环 第一个枚举 a 的可能值 第二个枚举 b 的可能值 例如 bin sh for a in 1 10 do for b in 1 10 do nohup python scr
  • Nuxt SSR - 我无法检查用户是否经过身份验证

    我正在尝试使用带有会话身份验证的 Django 后端的 Nuxt SSR 前端 我希望在我的前端中有一些 SSR 页面以及客户端渲染的页面 所以我正在使用通用模式 问题是我没有找到一种工作方法来在加载页面之前检查用户是否经过身份验证 因此我
  • Grails 条件可为空验证或带有可为空选项的自定义验证器

    我有一个表格来创建一个地方 根据国家 地区的不同 省 州 地区 字段是否为必填项 当不需要时 我希望为null 而不是空字符串 我有使所有空表单字段为空的代码 def newparams place new Place params eac
  • 在 MSBuild 中获取本机 exe 的文件版本

    我在 Visual Studio 2010 解决方案中有许多 Visual C 项目 此解决方案中还有一个 WiX 项目 它为可执行文件 C 项目之一的产品 构建安装程序 可执行文件在其项目中有一个资源文件 它将程序的版本写入可执行文件 现
  • Nuget Config.Transform 格式问题

    我创建了一个Nuget 配置转换文件 http docs nuget org docs creating packages configuration file and source code transformations具有以下变换
  • ActivityInstrumentationTestCase2 中的模拟帐户

    在我的活动中 我获得了帐户onCreate public void MyActivity extends Activity private Account accounts Override protected void onCreate
  • 什么是概率数据结构?

    我读过有关 概率 数据结构的内容 例如布隆过滤器和跳过列表 概率数据结构有哪些共同特征以及它们的用途是什么 可能有很多不同的 并且很好的 答案 但以我的拙见 概率数据结构的共同特征是它们为您提供近似的而不是精确的答案 这里有多少件物品 大约
  • 最终瞬态字段的序列化/反序列化

    In this https stackoverflow com questions 2968876 final transient fields and serialization问题说final transient序列化后字段不能设置为任
  • 检测数组中作为复杂多边形顶点的一组点是否按顺时针或逆时针顺序定义?

    编辑 我更新了program http colekito com ProgrammingProjects Science 20Fair 有了答案 效果很好 我正在做一个program http colekito com Programmin
  • 如何让 SQLAlchemy 覆盖 MySQL“更新 CURRENT_TIMESTAMP”

    我继承了一个较旧的数据库 该数据库设置为 更新时 CURRENT TIMESTAMP 该字段放在一个仅应该描述项目创建的字段上 使用 PHP 我一直在 UPDATE 子句上使用 timestamp timestamp 但在 SQLAlche
  • C++ system() 函数 — 如何收集发出的命令的输出?

    我正在使用 C 运行一些命令system 功能 int system const char command 如何从发出的命令中收集标准输出 具体来说 我想收集发出的命令的输出 例如 发出命令的输出的目录列表 dir命令 您是否正在寻找执行命
  • 测量 ASP.NET Core 中异步代码与同步代码的性能

    我正在尝试使用 SQL Server Express 和 EF Core 3 1 3 来衡量 ASP NET Core 3 1 中异步与同步的性能 并且有两个完全相同的函数 除了一个是异步的 一个是同步的 HttpGet search de
  • 我们如何根据索引更新dynamodb表(而不是基于主键和范围键)

    我们如何基于索引 而不是基于主键和范围键 更新dynamodb表 我有一个按名称创建的索引key id index哈希值是asset id范围是hit id 我想根据以下内容更新表格key id index因为我在更新时不知道这些 var
  • 我获得了客户端中间件,但如何保护 S3 上的用户资源?

    我得到了客户端中间件 但我不希望出现用户意外或恶意删除其他用户的资源的情况 如何保护 S3 上的资源 以便用户只能删除自己的资源 而不能删除任何其他用户的资源 非常感谢 我不希望出现用户意外或恶意删除其他用户资源的情况 当您设置 S3 存储
  • Webpack hmr:__webpack_hmr 404 未找到

    我正在使用 webpack dev server 进行热模块替换 它工作得很好 但是这个错误每隔几秒钟就会出现在控制台中 GET http mysite 8080 webpack hmr 404 Not Found 这是我的 webpack
  • JSON Patch 规范的解释

    我有一个关于 JSON Patch 的解释的问题 RFC 6902 https www rfc editor org rfc rfc6902 假设我有一个如下所示的资源 type assembly uri http example com
  • useMemo 与 useEffect + useState

    使用有什么好处吗useMemo 例如 对于密集的函数调用 而不是使用组合useEffect and useState 这里有两个定制的钩子 乍一看它们的工作原理完全相同 此外useMemo的返回值为null在第一次渲染时 useEffect
  • 简单就地离散傅立叶变换 (DFT)

    我正在编写一个非常简单的就地 DFT 我正在使用此处显示的公式 http en wikipedia org wiki Discrete Fourier transform Definition http en wikipedia org w
  • 如何配置 IPython 以与普通 Python REPL 相同的方式执行单元块?

    普通 Python REPL gt gt gt na na gt gt gt for i in range 4 f else batman nana nananana nananananananana nananananananananan