|全局变量与局部变量
1.定义位置不同:
全局变量定义在函数外
局部变量定义在函数内
2.作用域不同:
全局变量的作用域,所有函数中都可以用
局部变量的作用域,只在当前函数中可以用
3.生命周期不同:
全局变量的生命周期(程序的生命周期),比较长
局部变量的生命周期,(函数被调用时,出生,函数调用结束,局部变量释放),比较短
4.存储位置不同:
全局变量(不在栈上)
局部变量(存在栈上)
global:
声明一个变量为全局变量
使用场景:
在局部修改全局变量的值,需要使用global声明
在局部如果修改全局变量的值,需要使用global声明(如果全局变量是不可变类型,必须声明,可变类型,可以不声明)
nonlocal:
使用场合:
在嵌套函数的内部函数中使用,会找在它的上一级作用域中查找对应的变量(不是找全局变量,如果找不到,报错)
|系统内置函数
在系统内置模块中,已经定义好的函数(不用引入任何模块,直接就能使用)
print()
input()
max()
min()
sum()
系统内置文件 builtins.py
dir(模块名/文件名)
abs()
求绝对值
max(iterable,*[key,default])
max(arg1,arg2,*args,[key])
求最大值
map()
map()函数
有两个参数,第一个参数是一个函数,第二个参数是可迭代的内容。
函数会依次作用在可迭代内容的每一个元素上进行计算,然后返回一个新的可迭 代内容
|
filter() 函数
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成 的新列表(迭代器)
zip(iter1,iter2...)函数
zip 函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个 tuple,
然后返回一个可迭代的 zip 对象.这个可迭代对象可以使用循环的方式列出其元 素
若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相 同
|匿名函数:
本质: 函数
定义方式:
lambda 参数:表达式
封装一个求和函数
def get_sum(a,b):
return a + b
使用匿名函数封装:
lambda a,b: a + b
匿名函数的使用场景:
功能简单,可复用性不强的函数,可以做成匿名函数
注意:
不能包含循环、return,可以包含 if...else...
字符串
定义:
可以使用单引号、双引号、三引号
拼接
'+'
join
重复
*
求长度:
len(str)
索引
访问:基于索引来访问的
索引范围(同列表):
[0,len(str)-1]
切片(同列表一样)