链式作业如何进行?

2024-01-20

引用某事:

>>> x = y = somefunction()

是相同的

>>> y = somefunction()
>>> x = y

问题: 是

x = y = somefunction()

x = somefunction()
y = somefunction()

?

根据我的理解,它们应该是相同的,因为somefunction只能返回一个值。


左先

x = y = some_function()

相当于

temp = some_function()
x = temp
y = temp

注意顺序。最左边的目标首先被分配。 (C 中类似的表达式may https://stackoverflow.com/a/19356014/673991分配在相反的顺序 https://stackoverflow.com/a/24641021/673991.) 从文档开始Python作业 https://docs.python.org/reference/simple_stmts.html#assignment-statements:

...将单个结果对象从左到右分配给每个目标列表。

反汇编显示:

>>> def chained_assignment():
...     x = y = some_function()
...
>>> import dis
>>> dis.dis(chained_assignment)
  2           0 LOAD_GLOBAL              0 (some_function)
              3 CALL_FUNCTION            0
              6 DUP_TOP
              7 STORE_FAST               0 (x)
             10 STORE_FAST               1 (y)
             13 LOAD_CONST               0 (None)
             16 RETURN_VALUE

注意:同一个物体 http://www.diveintopython.net/getting_to_know_python/everything_is_an_object.html始终分配给每个目标。因此,正如 @Wilduck 和 @andronikus 指出的那样,你可能永远不会想要这个:

x = y = []   # Wrong.

在上面的例子中,x 和 y 指的是同一个列表。因为列表是mutable https://en.wikibooks.org/wiki/Python_Programming/Data_Types#Mutable_vs_Immutable_Objects,附加到 x 将似乎影响 http://bjc.berkeley.edu/bjc-r/cur/programming/python/list_mutability.html y.

x = []   # Right.
y = []

现在您有两个名称引用两个不同的空列表。

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

链式作业如何进行? 的相关文章

  • Flask 中“缺少 CSRF 令牌”,但它在模板中呈现

    问题 当我尝试登录 使用 Flask login 时 我得到Bad Request The CSRF session token is missing但令牌正在呈现 在模板中 secret key 已设置 并且我在本地运行localhost
  • Keras model.predict 函数给出输入形状错误

    我已经在 Tensorflow 中实现了通用句子编码器 现在我正在尝试预测句子的类概率 我也将字符串转换为数组 Code if model model type universal classifier basic class probs
  • 将 Python Pandas DataFrame 写入 Word 文档

    我正在努力创建一个使用 Pandas DataFrames 的 Python 生成的报告 目前我正在使用DataFrame to string 方法 但是 这会作为字符串写入文件 有没有办法让我实现这一目标 同时将其保留为表格 以便我可以使
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • App Engine NDB:如何访问属性的 verbose_name

    假设我有这个代码 class A ndb Model prop ndb StringProperty verbose name Something m A m prop a string value 当然 现在如果我打印 m prop 它会
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • 高级描述熊猫

    有没有像 pandas 那样更高级的功能 通常我会继续这样 r pd DataFrame np random randn 1000 columns A r describe 我会得到一份很好的总结 就像这样 A count 1000 000
  • 数据框中 .map(str) 和 .astype(str) 有什么区别

    我有一个数据框 其列名为 col1 和 col2 的整数类型条目 我想将 col1 和 col2 的条目以及其间的 点 连接起来 我搜索并发现添加两个列条目 df col df col1 map str df col2 map str 并添
  • Python-验证我的文档 xls 中是否存在工作表

    我正在尝试在空闲时间设计一个小程序 加载 xls 文件 然后在要扫描的文档中选择一张纸 步骤1 用户导入 xls文件 导入程序后检查文件是否存在 我能做到的 第 2 步 我要求用户提供要分析的文档表 xls 的名称 这就是它停止的地方 该程
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • 如何获取分类数据的分组条形图

    I have a big dataset with information about students And I have to build a graph of dependencies between different value
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 如何使用 enumerate 来倒数?

    letters a b c 假设这是我的清单 在哪里for i letter in enumerate letters 将会 0 a 1 b 2 c 我怎样才能让它向后枚举 如 2 a 1 b 0 c 这是一个很好的解决方案并且工作完美 i
  • Python 相当于 Scala 案例类

    Python 中是否有与 Scala 的 Case Class 等效的东西 就像自动生成分配给字段而无需编写样板的构造函数一样 当前执行此操作的现代方法 从 Python 3 7 开始 是使用数据类 https www python org
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 如何使用 Python/Django 在 Facebook 中获取(和使用)扩展权限

    我正在尝试编写一个简单的应用程序 让用户授予我的代码写入其页面的 Facebook 流的权限 据我了解 它应该很简单 让用户单击一个按钮 启动一个弹出窗口 其中包含我的 Facebook 应用程序中的页面 在该页面中 他们单击授予的内容流发
  • 基于值的 matplotlib 条形图颜色

    有没有一种方法可以根据条形图的值对条形图的条形进行着色 例如 values below 0 5 red values between 0 5 to 0 green values between 0 to 08 blue etc 我找到了一些
  • 在Python中停止ThreadPool中的进程

    我一直在尝试为控制某些硬件的库编写一个交互式包装器 用于 ipython 有些调用对 IO 的影响很大 因此并行执行任务是有意义的 使用 ThreadPool 几乎 效果很好 from multiprocessing pool import

随机推荐

  • 使用 Apollo/graphQL/React 访问和刷新令牌

    经过长时间的搜索 当访问令牌过期时 我为我的应用程序制定了这个解决方案 与其他服务的区别在于 我必须使用外部服务 在使用我的谷歌帐户登录时为我提供访问和刷新令牌 然后 当访问令牌过期时 我需要检索刷新令牌 将其发送到为我提供新访问和刷新令牌
  • C - 求结构的尺寸

    我被问到这个问题作为面试问题 无法回答 编写一个 C 程序来查找结构的大小 而不使用sizeof操作员 struct XYZ int x float y char z int main struct XYZ arr 2 int sz cha
  • ServiceStack.Text 是否提供 JSON 的漂亮打印?

    TL DR ServiceStack Text 中是否有内置方法来生成打印精美的 JSON 我在用ServiceStack Text https github com ServiceStack ServiceStack Text用于进行 J
  • 如何在 Angular2 的 Pipe 中将数组作为 arg 传递

    我创建了一个管道 其目的是根据标签列表过滤列表 Pipe name tagfilter export class TagFilterPipe implements PipeTransform transform items Event ar
  • 更改操作栏溢出的样式

    我在我当前的 android 应用程序中使用 Theme Holo 上面是我当前主题的溢出 UI 我想将溢出菜单的背景颜色自定义为 RGB 245 243 239 将字体颜色自定义为 RGB 64 64 64 以下是我正在使用的 style
  • 在 ActionBar 上放置一个进度条

    我试图在操作栏上放置一个不确定的进度栏 例如 我使用 actionView 来放置进度条 例如 Google 应用程序
  • 如何将模式模板的 let-c="close" 传递给其他组件的 html Angular 5

    我是 Angular 4 的新手 请帮助我 我有一个具有模式模板的组件 成分 import Component from angular core import NgbModal ModalDismissReasons from ng bo
  • Android studio 抛出 IOException:不允许操作

    现在 我正在为自己创建一个应用程序 它将数据附加到几个文件中 但是当我尝试创建文件 或者实际上打开它们 时 程序会抛出java io IOException Operation not permitted 如您所见 已授予存储权限 这个应用
  • pandas 是否会自动跳过行并进行大小限制?

    我们都知道这个问题 当你运行时出现内存错误 pandas 数据框的最大大小 https stackoverflow com questions 23569771 maximum size of pandas dataframe 442076
  • clang-format 何时断行继承列表?

    Clang format 总是将继承和类名放在同一行 无论我设置什么BreakInheritanceList to 我希望它以相同的方式格式化继承列表和构造函数初始值设定项列表 class Foo Parent int member pub
  • .NET 提供的有关 uri 和 url 的 api 的替代方案

    我最近意识到 使用 URL 和 URI 的 NET api 经常无法实现基本功能 至少很容易 包括 从相对路径生成 FQDN url 强制 https 或返回到http 获取网站的根 正确组合相对 URL 等等 是否有其他库可以将所有这些类
  • 新 AngularJS ng-ref 指令的陷阱

    The release of AngularJS V1 7 1 https github com angular angular js blob master CHANGELOG md 171 momentum defiance 2018
  • 库存浏览器从图库中选择照片的问题

    我正在开发一个用于从移动设备上传照片的网页 使用
  • 悬停时重新启动动画

    我正在尝试创建一些复活节动画 其中有一只小兔子接住了下落的鸡蛋 现在效果很好 但我遇到的麻烦是我似乎无法创建一个按钮来重新启动我的多个动画并让它们再次下落 向下移动 我已经尝试了很多东西 这似乎是我能得到的最接近的东西 但这似乎只是播放 暂
  • 如何在无人值守的情况下安装 Visual Studio Build Tools?

    我正在尝试在 PowerShell 中以无人值守的方式安装 Visual Studio Build Tools 我跟着https silentinstallhq com visual studio build tools 2022 sile
  • 我应该将自定义方法从控制器移至模型吗?

    假设我有一个产品模型和 ProductsController 控制器具有所有标准的 CRUD 方法 产品执行各种验证等 这里有一个问题 我有几个自定义的非常复杂的操作 它们也需要以多种格式响应 json html xml csv pdf 等
  • 检查 CancellationTokenSource.Cancel() 是否已使用 Moq 调用

    我有一个条件语句 应如下所示 if view VerifyData true else view PermanentCancellation Cancel 其中 PermanentCancellation 的类型为 Cancellation
  • 如何获取 Windows 用户帐户的用户权限和特权

    我需要能够检查所有these http technet microsoft com en us library dd349804 v WS 10 aspx用户权利和特权 我尝试使用令牌来访问这些 但这仅完成了权限列表 我查过这个图书馆 ht
  • 每个 Android 设备的唯一 ID

    我实际上正在开发一个 Android 应用程序 希望为每个 Android 设备捕获唯一的 Id 但不确定哪个 Id 是可靠的 电话号码Imei imsi 从android 10开始 即使提供了权限 第三方应用程序也将无法检索此id 安全
  • 链式作业如何进行?

    引用某事 gt gt gt x y somefunction 是相同的 gt gt gt y somefunction gt gt gt x y 问题 是 x y somefunction 与 x somefunction y somefu