我只是想學習如何在 python 中撰寫這個 C 代碼?
#include <iostream>
void modify(int* a){
*a = 20;
}
int main(){
int x = 10;
modify(&x);
std::cout << x;
// OUTPUT: 20
return 0;
}
uj5u.com熱心網友回復:
這不適用于整數,因為 Python 中的整數是完全不可變的。您不能在 python 中更改整數。例如,當您執行 a = 1 時,您將創建一個值為 a 1 的新 int 并將變數 a 系結到它。現在,最簡單的方法是使用一些參考型別,比如類。
class IntRef:
def __init__(self, a):
self.a = a
def modify(some):
some.a = 20
ir = IntRef(10)
modify(ir)
print(ir)
uj5u.com熱心網友回復:
簡單的答案是“你不能”。但是,如果您有一個需要等效行為的用例,最簡單的方法是將您的變數包裝成可變型別。我會做以下事情:
def modify(a):
a[0] = 20
x = [10]
modify(x)
print(x[0])
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377531.html
上一篇:如何構建Github投資組合
下一篇:過濾numpy陣列中的資料
