python基础3.0

变量的引用

变量数据 都是保存在 内存 中的;

python 中 函数的 参数传递 以及 返回值 都是靠 引用 传递 的

python 中:

变量和数据是分开储存的;
数据保存在内存中的一个位置;
变量保存着数据在内存中的地址;
变量中记录数据的地址,叫做引用;
使用 id()函数可以查看变量中保存数据所在的地址;

可变和不可变类型

不可变类型,内存中的数据不允许被修改;

数字型
字符串
元组

可变类型,内存中的数据可以被修改

列表
字典

注意:

字典中的 key 只能是不可变类型的数据

哈希(hash)
python 中内置有一个名字叫做 hash()的函数,接收一个 不可变的数据类型作为参数;

哈希 是一种算法,其作用就是提取数据的特征码

相同的内容得到相同的结果
不同的内容得到不同的结果

在 python 中,设置字典的键值对时,会首先对 key 进行 hash 已决定如何在内存中保存字典的数据,以方便后续对字典的操作:增、删、查、改

局部变量和全局变量

局部变量

布局变量 是在函数内部定义的变量,只能在函数内部使用
函数执行结束后,函数内部的局部变量会被系统回收
不同的函数,可以定义相同名字的局部变量,但是各用各的并不会产生影响

局部变量的作用:
在函数内部使用,临时保存在函数内部需要使用的数据

全局变量

全局变量是在函数外部定义的变量,所有函数内部都能够使用这个变量

注意:

函数执行处理变量时,首先查找函数内部是否存在指定名称的局部变量,如果有,直接使用;如果没有,查找函数外部是否有指定名称全局变量,如果有,直接使用;如果没有,函数报错。

在函数内部可以通过全局变量的引用来获取对应的数据,但是不允许直接修改全局变量的引用–使用赋值语句修改全局变量的值;

在函数内部修改全局变量的值

如果在函数内部修改全局变量,需要使用 global 关键字 进行声明

python基础3.0_第1张图片

函数参数和返回值

python基础3.0_第2张图片
不可变和可变的参数

无论传递的参数是可变的还是不可变的,只要参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用

如果传递的参数是可变类型,在函数内部,使用方法修改数据的内容,同样会影响到外部的数据

python 中,列表变量调用 += 本质上就是执行列表变量的 extend 方法,不会修改变量的引用;
python基础3.0_第3张图片

缺省参数

定义函数时,可以给某个参数制定一个默认值,具有默认值的参数就叫做缺省参数;

在调用函数时,如果没有传入缺省参数的值,则在函数内部使用函数定义时指定的参数默认值;

函数的缺省参数,将常见的参数设置为参数的缺省值,从而简化参数的调用;

gl_num_list = [9, 3, 6]

gl_num_list.sort()  # 正序

# gl_num_list.sort(reverse=True) 倒序

print(gl_num_list)

列表排序(sort 方法)就是一个例子;

你可能感兴趣的:(哈希算法,python,开发语言)