欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python中如何调用函数交换两个变量的值

程序员文章站 2022-10-04 11:53:41
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。