为什么变量在更改其因变量后没有更新? [复制]

2024-01-27

我不明白为什么当我更改 x 时变量“y”不更新? (“y”变量依赖于“x”,对吧?)

x = 5
y = x*2

print(x)
print(y)

x = 3

# Expect it to print '3' and '6' instead it print '3' and '10'
print(x)
print(y)

(“y”变量依赖于“x”,对吗?

No.

Few programming languages have dependent / computed variables[0] and Python is not one of them[1]. When y = x*2 is executed, the expression on the right-side of the = is fully evaluated and the result set as the value of y. y is thereafter independent from x[2].

一般来说,如果你想要y是一个函数x...您将其定义为函数x:

x = 5
def y(): return x*2

print(x)
print(y())

x = 3

# Expect it to print '3' and '6' instead it print '3' and '10'
print(x)
print(y())

  1. 我知道make的惰性变量和 Perl 的绑定标量
  2. 它确实计算了属性(又名属性)但这是一个非常不同的事情
  3. 有些情况看起来有点像因变量,例如如果你设置y到一个可变的子结构x对此子部分的更改x将通过可见y。但这实际上并不是依赖关系,只是两个变量指向相同的(可变)结构,因此两个变量都“看到”应用于该共享结构的突变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么变量在更改其因变量后没有更新? [复制] 的相关文章

随机推荐

  • 如何在Android弹出菜单中设置默认选择的选项?

    我使用以下代码来创建菜单 PopupMenu popup new PopupMenu getApplicationContext v MenuInflater inflater popup getMenuInflater inflater
  • 如何使用ggplot2将x轴从年更改为月

    我有一个随时间变化的网络访问量图表 其中绘制了从 2014 年至今的每日流量 如下所示 ggplot subset APRA Post Day gt 2013 12 31 aes x Post Day y Page Views geom l
  • php从同一浏览器和同一php脚本同时下载文件

    你好 我有这个简单的代码 强制随机文件下载 我的问题是 如果我从同一个浏览器调用脚本两次或多次 第二次下载将不会开始 直到第一次完成或中断 因此我每次只能下载一个文件 你有什么线索吗 这可能与PHP的会话处理有关 使用默认的会话处
  • Chrome 中的窗口高度错误

    我正在尝试获取 Chrome 浏览器窗口的正确宽度和高度 Firefox 中的大小是正确的 我没有尝试过任何其他浏览器 我已将文档类型设置为 DOCTYPE html并尝试过 window height window width windo
  • 在自定义活动中绘制 TextView?

    我正在实施一个自定义View 我需要在其中绘制一些文本 文本必须适合一个盒子 所以我必须将其分解并使其适合 因此 我想我可以使用TextView并在我的自定义中绘制它View 这是我尝试过的 canvas drawRoundRect rec
  • 如何在 Two.js 中解释外部 svg 文件

    有什么方法可以在two js 中解释带有对象标记的外部svg 文件吗 我尝试了下面的方法但是 HTML JS var mySvg document getElementById mysvg contentDocument var shape
  • Maven Dll依赖问题

    我正在开发一个基于 swing 的桌面应用程序 该应用程序使用 MediaInfo dll 库 我首先像描述的那样将此 dll 安装到我的本地存储库这个答案 https stackoverflow com questions 1001774
  • java中导入语句的顺序[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 想知道 哪种是订购导入声明的正确方法 另外哪个具有更高的可读性 like 外部课程 如java util List 然后是内部包类 仅按字母顺序
  • Tensorflow 中 sess.run([op1, op2...]) 的顺序

    我想知道 sess run ops list 中操作列表的运行顺序是什么 例如 对于典型的分类场景 loss sess run train op loss op if train op先运行 那么损失就是当前反向传播之后的损失 但如果los
  • Python,导入错误:未定义的符号:g_utf8_skip

    StackOverflow 上大约有几十个类似的问题 但经过几个小时的潜伏 我终于放弃了 所以我正在尝试为Python编写一个C扩展 我们就这样称呼它吧mylib 这是头文件 mylib h ifndef mylib H define my
  • 如何使用 JSqlParser 添加新条件?

    我想向我的 sql 添加新条件 例如如果查询是 SELECT EMP ID FIRST NAME FROM EMPLOYEES 我可以使用此代码添加新的原因 Override protected void setLimit final Pl
  • 通过应用自定义 css 类禁用 html 输入元素

    我想通过应用我的自定义 css 类来禁用 div 的所有输入元素 但我找不到任何可以禁用输入元素的 css 属性 目前我在做什么 div sercvice detail input attr disabled true retention
  • 找不到 Webpackject.preload.js 文件[重复]

    这个问题在这里已经有答案了 我将 Vue Typescript 与 webpack 结合使用 每次我打开页面inject preload js抛出一个错误 例如GET blob http URL 1fbc0606 8477 416b a45
  • Javascript 闭包和内存问题

    Following function add new table entry to table and return interface which has function which uses closure to access and
  • 什么是 .inc 以及为什么使用它?

    我经常在 PHP 中看到包含 inc 文件的示例 inc 是什么意思 它是用来做什么的 使用它有什么缺点和优点 它没有任何意义 只是一个文件扩展名 如果该文件被设计为被其他 PHP 文件包含 则某些人习惯用 inc 扩展名命名该文件 但这只
  • Nuxt3生成类型错误:无法读取null的属性(读取'isCE')

    我在我的应用程序中使用 Nuxt3 Vite Leaflet Bootstrap 该应用程序在开发中运行良好 但是当我尝试使用生成静态站点时npm run generate 我收到以下错误 类型错误 无法读取 null 的属性 读取 isC
  • 通过 python 使用 Google Drive API V3 获取 Google Drive 文件所有者电子邮件地址

    我无法通过 Google Drive API v3 获取 Google 云端硬盘上文件的所有者 我可以在 v2 下做到这一点 但事情已经改变了 根据文档 https developers google com drive api v3 re
  • 在Android Studio中使用自定义框架库(android.jar)

    我有自己的定制框架 android jar 并想在 Android Studio 中使用它 我的 build gradle 中有如下描述 dependencies compile files myandroid jar 但Android S
  • 如何将material-ui时间选择器更改为24小时格式

    目前使用的是Timepicker来自材料用户界面 我已将其设置为type time 它允许我通过 AM PM 选项选择一天中 12 小时内的时间 我希望我的选择器采用 24 小时格式 从而删除 AM PM 选项 我查看了material u
  • 为什么变量在更改其因变量后没有更新? [复制]

    这个问题在这里已经有答案了 我不明白为什么当我更改 x 时变量 y 不更新 y 变量依赖于 x 对吧 x 5 y x 2 print x print y x 3 Expect it to print 3 and 6 instead it p