首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python与C中的每行多个属性

Python与C中的每行多个属性
EN

Stack Overflow用户
提问于 2018-07-16 07:52:19
回答 1查看 153关注 0票数 0

尽我最大的努力理解python的工作原理。我有一些扎实的C语言背景。

尝试将以下代码行转换为C:p, q = q, p - x // y * q

我的问题是,多个断言/属性(请纠正我的术语)不能像我期望的那样工作。

这行代码是如何真正展开成类似C的语法的呢?

EN

回答 1

Stack Overflow用户

发布于 2018-07-16 07:58:20

你可以用C语言做同样的事情:

temp = p - x / y * q; 
p = q; 
q = temp;

但真正发生的是,右侧创建了一个元组,元组项目是从左到右构建的:

t = (q, p - x // y * q)

然后这个元组在左边被解包:

p = t[0]
q = t[1]

这种使用元组进行本质上并行赋值的方法非常方便。我相信你很快就会习惯的。

但有一件事可能需要更长的时间才能适应,那就是Python的数据模型,它的工作方式与C的有很大的不同。你可能会发现这篇文章很有帮助:Facts and myths about Python names and values,它是由经验丰富的Ned Batchelder编写的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51353078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档