Skip to main content
 首页 » 编程设计

python之引用变量

2025年05月04日10三少

在 C++ 中,您可以执行以下操作:

int x = 10; 
int &y = x; 
y = 11; 
cout << x << endl; // will print 11 

我怎样才能在 python 中做类似的事情?尝试使 self.session 成为对 self.request.session 的引用:

self.session = self.request.session 

请您参考如下方法:

以下将使 self.session 和 self.request.session 引用同一个对象:

self.session = self.request.session 

如果您通过两个引用中的任何一个对 session 进行了更改,您将能够通过这两个引用来观察更改:

 self.session.set_foo(42) 
 self.request.session.get_foo() # returns 42 

另一方面,如果您重新绑定(bind)要么通过将其指向其他地方来引用,那将断开链接:

 self.session = another_session 

最后,重要的是要注意某些 Python 类型是不可变的。这包括整数、字符串和元组。虽然您可以对一个不可变对象(immutable对象)有多个引用,但不可变性会阻止您对该对象进行任何更改。

这与您的 C++ 示例相关。如果您想要共享对 int 的引用,并且能够修改该 int,则必须将 int 包装在里面一个可变对象,并改为共享对该可变对象的引用。