30/09/2018, 22:00
Truyền tham biến trong Python?
Làm thế nào để truyền tham biến trong Python?
Mình đã thử như thế này mà không được?
>>> def inc(a):
a=a+1
>>> a=1
>>> inc(a)
>>> a
1
>>>
Bài liên quan
return a . chứ a vẫn ==1
Dùng global a thử đi bác
cần tham chiếu để làm gì @_@ Python nó cho trả về nhiều kiểu, cần gì tham chiếu nữa
cái cho trả về nhiều kiểu khác nhau này rất sướng:
C++0x thì phải tạo 1 cái struct chứa 3 kiểu, ví dụ a là int, b là float, c là double thì tạo 1 cái struct có 3 biến int, float, double. rồi trả về struct này, rồi phải gán từng biến trong struct này ra vào a,b,c… rất vất vả nên người ta xài tham chiếu.
C++11 thì có kiểu
std::tuple<int,float,double>
, trả về thì phải gọireturn std::make_tuple(a+1,b+2,c+3)
, muốn tách tuple ra thì phải xàistd::tie(a,b,c) = inc(a,b,c)
.C++17 thì cho phép
return {a+1,b+2,c+3}
vàauto [a,b,c] = inc(a,b,c)
. Càng ngày càng giống PythonKiểu
int
trong python là immutable type, bạn có thể dùng mutable type để tạo biến a: