python中如何調用函數交換兩個變量的值


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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM