Python 变量交换

 1 # coding = utf-8
 2
 3 a, b = 1, 2
 4 print ‘before change‘
 5 print a, b
 6
 7 a, b = b, a
 8 print ‘after change‘
 9 print a, b
10
11 #>>>
12 #before change
13 #1 2
14 #after change
15 #2 1

理解第7行a, b = b, a是关键。

可以将b, a赋给一个变量c, 然后打印c出来,看看:

1 c = b, a
2 print c
3
4 #>>>
5 #(2, 1)

原来,赋值号右边的b, a 组成了元组。在看看如何定义一个元组,就会发现,c = b, a 就是定义一个元组的方法之一, 它和c = (b, a)都是同样定义了一个元组。

所以a, b = b, a 就可以理解成 a, b = (b , a), 然后就变成一个元组解包的问题。

时间: 12-06

Python 变量交换的相关文章

python变量交换性能优化

从多方面新讲python性能优化看到交换两个变量的值可以使用 a,b = b,a 这样可以提高性能 >>> from timeit import Timer >>> Timer("t=a;a=b;b=t","a=1;b=2").timeit() 0.06279781319366587 >>> Timer("a,b=b,a","a=1;b=2").timeit() 0.037

变量交换x,y=y,x实现机制--元组

python中有一种赋值机制即多元赋值,采用这种方式赋值时,等号两边的对象都是元组并且元组的小括号是可选的.通常形式为 x, y, z = 1, 2, 'a string' 等同于 (x, y, z) = (1, 2, 'a string') 这种赋值类型最经常用到的环境是变量交换,形如 x, y = y, x 这种交换方式无需中间变量即可交换两个变量的值.那么具体实现机制是怎样的呢? 运行时,首先构造一个元组(y, x),然后构造另一个元组(x, y),接着用元组(y, x)赋值给(x, y)

1.python变量与基础数据类型

一.什么是变量? 在我的理解,程序中的变量就是在内存中开辟出一块空间,也可以把变量看作是一种容器, 程序的运行本质是一系列状态的变化,而变量这种容器就是通过内存来保存程序运行的状态,变量值的变化就构成了程序运行的不同结果. 二.变量有哪些赋值方式? 1.最基本的赋值方式,变量名 = 变量值 ,name = "suhaozhi". 2.链式赋值,a = b = c = "suhaozhi" (变量a,b,c同时对应了一个变量值"suhaozhi",

#5 Python变量与输入输出

前言 学习一门编程语言,最基本的无非不过学习其变量规则.条件语句.循环语句和函数,接下来的几节将开始记录这些基本的语法,本节主要记录变量规则! 一.Python输入输出 在说Python变量之前,先补充一下Python的输入和输出语句,在Python的编写过程中,会遇到许多的错误,基本的调试方法就是将中间变量打印(输出)出来,所以说Python的输入输出语句十分重要,尤其是输出语句,一定要灵活掌握. 输出 前文可能已经接触到了输出语句 print,实际上在Python3中它是一个内置函数(关于函

Python变量

1. 变量的命名 变量名由字母.数字或下划线组成,首字母必须是字母或下划线. 2. 变量的赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每个变量在使用前都必须赋值,赋值后该变量才会被创建. 3. 局部变量 局部变量是只能在函数或代码段内使用.函数或代码段一旦结束,局部变量的生命周期也将结束.局部变量的作用范围只在局部变量被创建的函数内有效.注意:Python创建的变量就是一个对象.Python会管理变量的

两个变量交换的四种方法

对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. class TestEV //创建一个类 { public static void main(String[]args) { int x =5,y=10; //定义两个变量 int temp = x; //定义第三临时变量temp并提取x值 x = y; //把y的值赋给x y = temp; //然后把临时变量temp值赋给y System.out.println("x="+x

Python 变量类型day03

变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 等号(=)用来给变量赋值. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值.例如: #!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point na

Python 变量类型

Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符. 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 等号(=)用来给变量赋值. 等号(=)运算符左边是一

python变量和作用域

1.作用域介绍 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: G:globa,全局变量,就是模块级别定义的变量: B:built-in,系统固定模块里面的变量,比如int, bytearray等. 搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB. x = int(2.9) # int