用Python模拟指针

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (220)

我正在尝试将内部语言(IHL)编译到Python中。

其中一个IHL特性是指针和引用,它们的行为与您期望的C或C++相似。

例如,您可以这样做:

a = [1,2];  // a has an array 
b = &a;     // b points to a
*b = 2;     // derefernce b to store 2 in a
print(a);   // outputs 2
print(*b);   // outputs 2

是否有方法在Python中复制此功能。

我应该指出,我想我混淆了几个人。我不想要Python中的指针。我只是想从那里的Python专家那里了解一下,我应该生成什么Python来模拟我上面展示的情况

我的Python并不是最伟大的,但到目前为止,我的探索还没有产生任何有希望的结果.

提问于
用户回答回答于

这可以明确地完成。

class ref:
    def __init__(self, obj): self.obj = obj
    def get(self):    return self.obj
    def set(self, obj):      self.obj = obj

a = ref([1, 2])
b = a
print a.get()  # => [1, 2]
print b.get()  # => [1, 2]

b.set(2)
print a.get()  # => 2
print b.get()  # => 2
用户回答回答于

你可能想读从C++角度看Python变量名的语义...。底线是:所有变量都是引用

更重要的是,不要考虑变量,而是考虑对象命名

扫码关注云+社区

领取腾讯云代金券