相关疑难解决方法(0)

如何通过引用传递变量?

Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'

class PassByReference:
    def __init__(self):
        self.variable = 'Original'
        self.change(self.variable)
        print(self.variable)

    def change(self, var):
        var = 'Changed'
Run Code Online (Sandbox Code Playgroud)

有什么我可以通过实际参考传递变量吗?

python reference parameter-passing pass-by-reference

2480
推荐指数
22
解决办法
124万
查看次数

Python中的多个赋值和求值顺序

以下Python表达式之间有什么区别:

# First:

x,y = y,x+y

# Second:

x = y
y = x+y
Run Code Online (Sandbox Code Playgroud)

首先给出与第二个不同的结果.

例如,

第一:

>>> x = 1
>>> y = 2
>>> x,y = y,x+y
>>> x
2
>>> y
3
Run Code Online (Sandbox Code Playgroud)

第二:

>>> x = 1
>>> y = 2
>>> x = y
>>> y = x+y
>>> x
2
>>> y
4
Run Code Online (Sandbox Code Playgroud)

y第一个中是3,在第二个中是4

python assignment-operator

47
推荐指数
4
解决办法
4万
查看次数

a,b = b,在C++中的python vs std :: swap()中

我知道这a,b = b,a基本上是为一个元组赋予(a,b)另一个元组的值(b,a).这本质上是交换价值的形式abba.因此,导致"交换".

这是swap()C++中函数的功能.

从研究中,我看到C++的swap()函数使用第三个临时变量来执行交换.我一直无法找到如何a,b = b,a在python中实现.

如何a,b = b,a实施?

python是否也使用第三个临时变量?如果没有,它是如何工作的?

两种操作如何在速度方面进行比较?我猜测如果python也使用第三个变量,执行时间的差异将归因于python的解释.

编辑:所有答案都很棒,但社区似乎认为Sapan是最好的.还要感谢a_guest,虽然没有发表回答,但他们在评论中给了我们很多信息.另外:每个人似乎都认为swap()只是因为它的C++而更快.我不一定同意这一点.如果以冻结二进制文件运行,Python可以非常快.

c++ python

10
推荐指数
3
解决办法
555
查看次数