1. 变量的引用
变量 和 数据都是保存在内存中的
在python中函数的 参数传递 以及 返回值 都是靠 引用传递的
1.1 引用的概念
在python中:
变量和数据是分开存储的
数据保存在内存中的一个位置
变量中保存着数据在内存中的地址
变量 中记录数据的地址 就叫做引用
使用id()函数可以查看变量中保存数据所在的内存地址
注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用
变量不在对之前的数据引用
变量改为对新赋值的数据引用
2. 可变类型和不可变类型
不可变类型,内存中的数据不允许被修改:
数字类型,字符串,元组
可变类型,内存中的数据可以被修改(通过对应的方法调用去修改):
列表,字典
注意: 对列表进行赋值则改变列表的引用。
字典中的key只能使用不可变类型
3. python中的全局变量
全局变量是在函数外部定义的变量,所有函数内部都可以使用这个变量。
注意:函数执行时,需要处理变量时会:
1 首先查找函数内部是否存在指定名称的局部变量,如果有,直接使用
2 如果没有,查找函数外部是否存在指定名称的全局变量,如果有,直接使用
3 如果还没有,程序报错
在函数内部中允许直接使用赋值语句修改全局变量的值
在函数内容部需要修改全局变量的值时,需要使用global进行声明,global关键字会告诉编译器变量是全局变量
4. 多值参数
有时候可能需要 一个函数 能够处理参数的个数不确定,这个时候就可以使用多值参数
python中有两种多值参数:
参数名称前加一个* 可以接受元组
参数名称前加两个* 可以接受字典
一般在给多值参数命名时,习惯使用以下两个名字:
*args --存放元组参数,前面有一个 *
**kwargs --存放字典参数,前面有两个 *
args 是arguments 的缩写,有变量的含义
kw 是keyword 的缩写,有字典的含义
源代码路径: https://download.csdn.net/download/b903299114/10469993
变量 和 数据都是保存在内存中的
在python中函数的 参数传递 以及 返回值 都是靠 引用传递的
1.1 引用的概念
在python中:
变量和数据是分开存储的
数据保存在内存中的一个位置
变量中保存着数据在内存中的地址
变量 中记录数据的地址 就叫做引用
使用id()函数可以查看变量中保存数据所在的内存地址
注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用
变量不在对之前的数据引用
变量改为对新赋值的数据引用
2. 可变类型和不可变类型
不可变类型,内存中的数据不允许被修改:
数字类型,字符串,元组
可变类型,内存中的数据可以被修改(通过对应的方法调用去修改):
列表,字典
注意: 对列表进行赋值则改变列表的引用。
字典中的key只能使用不可变类型
3. python中的全局变量
全局变量是在函数外部定义的变量,所有函数内部都可以使用这个变量。
注意:函数执行时,需要处理变量时会:
1 首先查找函数内部是否存在指定名称的局部变量,如果有,直接使用
2 如果没有,查找函数外部是否存在指定名称的全局变量,如果有,直接使用
3 如果还没有,程序报错
在函数内部中允许直接使用赋值语句修改全局变量的值
在函数内容部需要修改全局变量的值时,需要使用global进行声明,global关键字会告诉编译器变量是全局变量
4. 多值参数
有时候可能需要 一个函数 能够处理参数的个数不确定,这个时候就可以使用多值参数
python中有两种多值参数:
参数名称前加一个* 可以接受元组
参数名称前加两个* 可以接受字典
一般在给多值参数命名时,习惯使用以下两个名字:
*args --存放元组参数,前面有一个 *
**kwargs --存放字典参数,前面有两个 *
args 是arguments 的缩写,有变量的含义
kw 是keyword 的缩写,有字典的含义
源代码路径: https://download.csdn.net/download/b903299114/10469993