python中如何調用函數交換兩個變數的值 所有代碼來在python3.7.1版本實現 以下實例通過用戶輸入兩個變數,並相互交換: 方法一: def swap(a,b): # 創建臨時變數,並交換 temp = a a = b b = temp print(a,b) 以上實例中,我們創建了臨時變數 ...
python中如何調用函數交換兩個變數的值
所有代碼來在python3.7.1版本實現
以下實例通過用戶輸入兩個變數,並相互交換:
方法一:def swap(a,b):
# 創建臨時變數,並交換 temp = a a = b b = temp print(a,b)
以上實例中,我們創建了臨時變數 temp ,並將 a 的值存儲在 temp 變數中,接著將 y 值賦給 a,最後將 temp 賦值給 b變數。
方法二:
def swap2(a,b): # 不使用臨時變數 a,b = b,a print(a,b)
Python以引用方式管理對象,你可以交換引用,但通常不能交換記憶體中的對象值。
在函數中,因為a,b是int的對象是原子類型,是不可變參數,他們直接的“引用”是值傳遞,這裡的引用應該是值傳遞。
方法三:
def swap3(a,b): """ ^異或運算 1^1=0 1^0=1 0^0=0 x^0=x x^x=0 """ a = a^b b = a^b # b = (a^b)^b = a a = a^b # a = (a^b)^a = b print(a,b)
異或運算,相同為0,不同為非0的數,例如1^1=0 1^0=1 0^0=0 x^0=x x^x=0
方法三中 a = a ^ b ,
b = (a^b)^b = a,
a = (a^b)^a = b
推薦第二種寫法,因為這是python語言的特性。第三種寫法,看起來就牛B,可以用來吹牛B,順便裝一B。