如何将数组 [2] 的地址作为对 python 中函数的引用传递
How to pass the address of array[2] as a reference to a function in python
我正在尝试将数组 reg_value[2]
的地址传递给 python
中的函数
import array
reg_value = array.array('I',[0]*100)
def postdata(data):
for i in range(2):
print(data[i])
reg_value[0]=1
reg_value[1]=2
reg_value[2]=3
reg_value[3]=4
postdata(reg_value)
上面的代码打印值 1 2
但我需要传递 reg_value[2]
的地址来打印值 3 4
我可以在 C 编程中实现这一点,例如将地址传递为 ®_value[2]
如何在 python 中复制相同的内容?
您不能在 Python 中传递任何内容的地址,但您可以传递包含子序列的切片。
postdata(reg_value[2:])
这确实创建了序列中项目的副本。可能更好的设计是允许调用者指定一个基本索引。
def postdata(items, offset=0):
for i in range(2):
print(items[offset+i])
for i in range(2,4):
print(data[i])
我正在尝试将数组 reg_value[2]
的地址传递给 python
import array
reg_value = array.array('I',[0]*100)
def postdata(data):
for i in range(2):
print(data[i])
reg_value[0]=1
reg_value[1]=2
reg_value[2]=3
reg_value[3]=4
postdata(reg_value)
上面的代码打印值 1 2
但我需要传递 reg_value[2]
的地址来打印值 3 4
我可以在 C 编程中实现这一点,例如将地址传递为 ®_value[2]
如何在 python 中复制相同的内容?
您不能在 Python 中传递任何内容的地址,但您可以传递包含子序列的切片。
postdata(reg_value[2:])
这确实创建了序列中项目的副本。可能更好的设计是允许调用者指定一个基本索引。
def postdata(items, offset=0):
for i in range(2):
print(items[offset+i])
for i in range(2,4):
print(data[i])