如何在 Python 中创建重新计算变量

2023-12-09

假设我有代码:

a = 2
b = a + 2
a = 3

问题是:如何保持b每次更改都会更新a?例如,在上面的代码之后我想得到:print(b) to be 5, not 4.

当然,b可以是一个函数a via def,但是,在 IPython 中,使用简单的变量会更舒服。有办法这样做吗?也许通过SymPy或者其他图书馆?


你可以做一个 lambda,它基本上是一个函数......唯一的缺点是你必须做b()获取值而不仅仅是b

>>> a = 2
>>> b = lambda: a + 2
>>> b()
4
>>> a = 3
>>> b()
5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Python 中创建重新计算变量 的相关文章

随机推荐

  • 合并两个带有替代字符的字符串作为输出

    我的任务是交替组合两个长度相同的字符串的字母 例如 Inputstring 1 acegi Inputstring 2 bdfhj Outputstring abcdefghij 当我运行我的代码时 我遇到了以下问题 Traceback m
  • 我可以将标准输出重定向到某种字符串缓冲区吗?

    我正在使用 python 的ftplib编写一个小型FTP客户端 但包中的某些函数不返回字符串输出 而是打印到stdout 我想重定向stdout到一个我能够读取输出的对象 I know stdout可以使用以下命令重定向到任何常规文件 s
  • 使用与先前轴相同的参数添加轴

    我想在两个不同的子图中绘制数据 绘图后 我想返回第一个子图并在其中绘制附加数据集 但是 当我这样做时 我收到以下警告 MatplotlibDeprecationWarning 使用与先前轴相同的参数添加轴当前会重用先前的实例 在未来的版本中
  • 回文检查的递归方法

    是否可以使用以下参数列表定义回文检查的递归方法 int testPalindromeRecursive char str int len 注意 不必使用外部子函数或全局变量 我认为这是不可能的 因为你必须以某种方式记住最后一个 前面 索引位
  • 键“数据源”的值长度超出了“128”的限制

    我知道有人问过一个非常相似的问题here 但答案对我没有帮助 我将 Entity Framework 6 与 Oracle ManagerDataAccess Client 结合使用 如果我在 app config 中定义连接字符串 则连接
  • 如何获取隐藏图像的高度?

    当 div 被隐藏时 display none 浏览器将不会加载其中的图像 有没有办法告诉浏览器加载图像 我需要图像的高度和宽度来进行一些预处理 注意 由于一些其他代码 我无法使 div 可见 检查这里的例子 另外 延迟加载 示例对我来说不
  • 调试控制台应用程序时,Visual Studio 陷入异常报告循环。为什么?

    考虑这个简单的控制台应用程序 using System namespace Demo class Program static void Main string args throw new Exception 我在 Visual Stud
  • FLD浮点指令加载常数

    根据装配艺术 CH14 死链接 在 archive org 上找不到 14 4 4 1 FLD 指令 fld mem 32 fld mem 64 bx 我的目标是将常数 10 加载到我的 FPU 堆栈中 为什么我不能这样做 asm move
  • 当应用程序处于后台时,状态栏下方的 IOS 文本

    我正在尝试弄清楚如何实现类似通知的横幅 并在其下方显示文本statusbar当应用程序在后台运行时 很像 Runkeeper 当处于活动状态且应用程序处于后台时 它是横幅吗 我所能找到的只是应用程序位于前台时的广告横幅 我需要定制吗Stat
  • 无法使用 r 中的 rvest 包通过 read_html 读取网页

    我正在尝试从亚马逊获取产品评论者的位置 例如这个网页 https www amazon com gp profile amzn1 account AH55KF4JK5IKKJ77MPOLHOR4YAQQ ref cm cr dp d gw
  • 为什么 kfifo.h 充满了#define 语句[重复]

    这个问题在这里已经有答案了 kfifo h几乎完全由 define 这是为什么 为什么他们没有像 正常 那样在 h 文件中声明函数 edit 似乎我的问题很容易被解释为对实现的质疑 而不是我想问的问题 从学习的角度来看 为什么这个实现更好
  • 为什么 Python 3.4 对于大数除法给出错误的答案,如何测试整除性? [复制]

    这个问题在这里已经有答案了 在我的程序中 我使用除法来测试结果是否是整数 我正在测试整除性 但是 我得到了错误的答案 这是一个例子 print int 724815896270884803 61 给出 11882227807719424 p
  • CefSharp WinForms Web 浏览器不会显示

    我有一个非常简单的例子 试图让 CEF 浏览器附加到 Winforms 表单上 由于某种原因它不会显示 public partial class Form1 Form public Form1 InitializeComponent Cef
  • 默认情况下,多个Kafka消费者可以从同一主题的同一分区读取数据吗?

    默认情况下 多个Kafka消费者可以从同一主题的同一分区读取数据吗 默认情况下 我的意思是 由于 group id 不是强制性的 我想知道如果我在不指定任何 group id 的情况下生成多个 kafka 消费者并给他们相同的主题和分区名称
  • 使用 x86 程序集读取并打印用户输入 (GNU/Linux)

    我正在 GNU Linux 上学习 x86 汇编 并且正在尝试编写一个程序 从 stdin 读取用户输入并将其打印在 stdout 上 以下代码确实有效 但如果用户输入的字符串的大小小于 100 个字节 它会打印额外的字符 section
  • DropDownListFor SelectedItem 的问题

    这让我彻底困惑了 这是我的观点 Html DropDownListFor model gt model ScoreDescription Model RatingOptions new id clientId 和模型 public deci
  • 使用 Selenium 登录 ESPN

    我正在尝试使用 Selenium 来自动执行 ESPN 上的一些任务 我首先需要登录我的帐户 因为当我尝试访问 ESPN 页面时 我会被重定向到登录页面 这是登录表单
  • 脚手架控制器不适用于 Visual Studio 2013 update 2

    PROBLEM 我已更新到 Visual Studio 2013 update 2 现在无法搭建控制器 问题不是特定于项目的 当我尝试搭建控制器时 我在所有和任何项目中收到以下错误 There was an error running th
  • Worklight 6.2 和 iOS7 中本机页面的方向问题

    我正在使用 Worklight Studio 6 2 for iOS 开发一个混合应用程序 应用程序应强制横向 在 iOS 7 中 当我调用本机页面时 即使我已将视图控制器设置为横向 方向也默认为纵向 iOS 8 的方向正确 我尝试使用以下
  • 如何在 Python 中创建重新计算变量

    假设我有代码 a 2 b a 2 a 3 问题是 如何保持b每次更改都会更新a 例如 在上面的代码之后我想得到 print b to be 5 not 4 当然 b可以是一个函数a via def 但是 在 IPython 中 使用简单的变