变量
变量和数据都是保存再内存中的
python中函数的参数传递和返回值都是靠引用传递的
数据保存再内存中的某个位置,变量中存放的时数据再内存中的地址
引用是指变量中记录数据的地址
可以使用id() 函数查看变量中保存数据所在的内存地址
局部变量和全局变量
局部变量是函数内部定义的变量,只能在函数内部使用
函数执行结束后,局部变量会被系统回收
全局变量是在整个py文件中声明
注:函数在执行时,变量处理过程:
首先会查找函数内部是否存在制定名称的变量,如果有,直接使用 如果没有会查找函数外不是否存在制定名称的全局变量。
如果函数内部存在和全局变量一样名称的局部变量,在函数内部不能直接修改全局变量的值,如果需要修改全局变量的值,需要使用 global关键字进行申明。global会告诉解释器,后面的变量是一个全局变量,这样在赋值是就不会创建局部变量
注:python3 新增 nonlocal 关键字,表示 该变量不是局部变量
如:
a = 1
def run():
global a
a = 2
交换两个变量的值 a b 变量
方法一: 使用第三个中间变量 c
c = a
a = b
b = c
方法二:通过 "+ -" 操作计算
a = a + b
b = a - b
a = a - b
方法三:python特有
a ,b = b , a # a ,b = (b , a )
注:在python列表变量执行 += 操作时实际上是执行列表变量的 extend 方法,不会噶便变量的引用
函数返回值为元组:
如果一个函数的返回类型是元组小括号可以省略
元组类型的返回值也可以用多个变量分别接受,使用多个变量接收结果时,变量个数和元组个数应一致。
如: