内置函数和匿名函数
Posted shmilyxue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置函数和匿名函数相关的知识,希望对你有一定的参考价值。
一.内置函数
迭代器生成器相关:
range(起始位置,终止位置,步长)
next(迭代器)
iter(可迭代的)
其他:
open("文件名")打开模式默认是"r",编码:默认是操作系统的默认编码,打开模式"r,w,a,rb,wb,ab"
input输入
print输出 f = open("file","w") print("file",file = f)
hash函数
dir 函数查看数据类型方法
eval()可以将字符串数据类型的python代码执行,有返回值,通过拼接字符串的方式来执行不同的代码
不能直接操作文件当中读进来的网络传进来的内容
字符串--->其他数据类型
exec可以将字符串数据类型的python代码执行,没有返回值
compile将字符串编译
help()进入帮助页面,输入数据类型,帮助打印帮助的信息 输入q退出
callable()帮助判断变量是否可调用
id 查看数据存储地址
__import__模块相关
作用域:
locals本地作用域/局部作用域 会随着位置的改变而改变
globals全局作用域
基础数据类型相关:
和数字相关的
和数字相关:
bool:布尔值
int整数类型
float浮点数
complex复数(实数+虚数 例如:a+bj)
进制转换相关:
bin二进制
oct八进制
hex十六进制
数学运算相关:
abs:求绝对值
divmod:商余函数(结果有商有余)
min:最小值 (可迭代的数字集,key)
max:最大值 (可迭代的数字集,key)
sum:求和(可迭代的数字集)
round:小数精确
pow:幂运算 x的y次方%z
和数据结构相关:
序列:
list:列表
tuple:元组
字符串:
str:字符串
format:数值格式化输出
bytes:字节
bytearray:将字符串编程一个字节数组,较长的字符串的修改节省内存,修改行为必须依靠编码
memoryview:ret = memoryview(bytes(‘hello,eva‘,encoding=‘utf-8‘))
ord:将字符转化成编码
chr:将编码转化成字符
ascii:字符串转化成ascii码
repr:打印的时候输出这个变量的数据类型
相关内置函数:
reversed:不修改原基础 : 不直接返回列表而返回迭代器,为了不占用更多的内存
slice:切片
数据集合:
dict:字典
set:集合
frozenset:不可变集合
相关内置函数:
len:数据长度
enumerate:枚举函数
for index,dic in enumerate(goods_lst,1): print(index,dic[‘name‘],dic[‘price‘])
zip:拉链函数,返回一个由元组组成的迭代器,其中第i个元组包含来自每个参数序列或可迭代对象的第i个元素,
当最短的可迭代对象被输出时,该迭代器完成
*filter:筛选,每一个元素作为参数传给func,如果func的返回值为True,那么数据类型中的这个元素就保留
*map:一个迭代器中的每一个元素都需要去做同一个操作并返回一个结果组成一个新列表的时候map来处理
*sorted(iterable,key) 排序 根据key对应的函数的返回值(类似已经进行for循环)的大小来排序的
二.匿名函数:
函数名 = lambda 参数:返回值
参数可以有多个,用逗号隔开
匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
返回值和正常的函数一样可以是任意数据类型
和内置函数混用,运用到函数名的位置
三.递归函数:
在一个函数里再调用这个函数本身就是递归函数
递归的最大深度:官网上,源代码中设置的是:1000,自己实际测试是998
递归的限制是为了内存消耗的保护机制
return 能够帮助停止递归,并且把最内层的结果一层一层的返回到最外层
在最内层函数的返回值,返回的时候永远是离最内层最近的上一层才能接收到返回值
以上是关于内置函数和匿名函数的主要内容,如果未能解决你的问题,请参考以下文章