鍍金池/ 問答/Python  網(wǎng)絡安全/ python中 swap的問題

python中 swap的問題

為啥我輸出的變量沒互換?

def swap(a,b):
    temp=a
    a=b
    b=temp 
a=1
b=2
swap(a,b)
print(a,b)

為啥輸出的不是2,1?

回答
編輯回答
笑忘初

因為是值傳遞,或者說,在函數(shù)里面的 a b 和外面的 a b 不是同一個變量。

python 交換 2 個基本類型的變量可以這樣寫:

a, b = b, a
2018年1月12日 12:51
編輯回答
詆毀你
# 最好的方式是
a, b = 1, 2
a, b = b, a
print(a, b)
# 非要上面那樣寫,需要返回值
def swap(a,b):
    temp=a
    a=b
    b=temp 
    return a, b
   
a, b = swap(a, b)
2018年5月4日 04:34
編輯回答
冷眸
def swap(c,d):
    global a, b
    a = d
    b = c
a=1
b=2
swap(a,b)
print(a,b)

這個代碼就是你想要的了。
前面那些回答的,人家就是想要從函數(shù)里面換值,你們非要重新賦值給變量,那還不如不要用函數(shù)。

2017年7月13日 23:09