我知道Python没有指针,但有没有办法有这个收益率2,而不是
>>> a = 1
>>> b = a # modify this line somehow so that b "points to" a
>>> a = 2
>>> b
1
Run Code Online (Sandbox Code Playgroud)
?
这是一个例子:我希望form.data['field']并form.field.value始终拥有相同的价值.这不是完全必要的,但我认为这会很好.
例如,在PHP中,我可以这样做:
<?php
class Form {
public $data = [];
public $fields;
function __construct($fields) {
$this->fields = $fields;
foreach($this->fields as &$field) {
$this->data[$field['id']] = &$field['value'];
}
}
}
$f = new Form([
[
'id' => 'fname',
'value' => 'George'
],
[
'id' => 'lname',
'value' => …Run Code Online (Sandbox Code Playgroud) 我正在尝试将内部语言(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
Run Code Online (Sandbox Code Playgroud)
有没有办法在Python中复制此功能.
我应该指出,我认为我困惑了一些人.我不想要Python中的指针.我只是想从Python专家那里得到一个感觉,我应该生成什么样的Python来模拟我上面展示的情况
我的Python不是最好的,但到目前为止,我的探索还没有产生任何有希望的东西:(
我应该指出,我们正在寻求从我们的ihl转向更常用的语言,因此如果有人可以提出可能更适合的另一种语言,我们就不会真正与Python绑定.