Trong PHP người ta có thể tạo ra một biến tham chiếu, do đó hai biến được đặt tên có thể nhìn vào giá trị như nhau:Tạo một tham chiếu đến một biến (tương tự như "= &" của PHP)?
$a = 1;
$b =& $a;
echo $a; // 1
echo $b; // 1
$b = 2;
echo $a; // 2
tôi đang tìm cách để đạt được một cái gì đó tương tự bằng Python. Cụ thể, tôi muốn tạo tham chiếu đến thuộc tính của đối tượng, ví dụ:
class Foo(object):
@property
def bar(self): return some_calculated_value
foo_instance = Foo()
ref = foo_instance.bar
# so that 'ref' is referencing the bar property on foo, calculated when used.
Điều này có thể không?
Nếu bạn không sử dụng các thuộc tính, nhưng sử dụng các hàm phương thức, điều này là tầm thường. Nếu không, điều này có lẽ chỉ đơn giản là một lỗi đang chờ xảy ra. Tạo bí danh * tạo ra sự mơ hồ khó hiểu, khó hiểu và khó gỡ lỗi. Tại sao làm điều đó cho chính bạn hoặc những người sẽ cố gắng duy trì điều này? Trường hợp sử dụng cho sự mơ hồ như thế này là gì? –
Tại sao bạn muốn làm điều đó? – NullUserException
Đơn giản hóa: bí danh 'someproxyobject.aholdingvariableto.anothersubobject.property' thành' foo'. –