day13 内置函数
2018-11-20 03:26:19来源:博客园 阅读 ()
参考资料: https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac
内置函数:
作?域相关:
locals() 返回当前作用域中的名字
globals() 返回全局作用域中的名字
迭代器相关:
range() ?成数据
next() 迭代器向下执? ?次, 内部实际使用了__next__()?法返回迭代器的下一个项目
iter() 获取迭代器, 内部实际使用的是__iter__()方法来获取迭代器
字符串类型代码的执行
eval() 执行字符串类型的代码. 并返回最终结果
exec() 执行字符串类型的代码
compile() 将字符串类型的代码变异. 代码对象能够通过exec语句句来执行或者eval()进行求 值
有返回值的字符串形式的代码用eval(). 没有返回值的字符串形式的代码用exec(). 一般很少用 到compile()
输入和输出相关:
input() 获取用户输入的内容
print() 打印输出 内存相关:
hash() 获取到对象的哈希值(int, str, bool, tuple)
id() 获取到对象的内存地址
文件操作相关:
open() 用于口打开?一个文件, 创建一个文件句柄
模块相关:
__import__() 用于动态加载类和函数
帮助: help() 函数用于查看函数或模块用途的详细说明
调用相关:
callable() 用于检查一个对象是否是可调用的. 如果返回True, object有可能调用失败, 但 如果返回False. 那调用绝对不会成功
查看内置属性:
dir() 查看对象的内置属性, 方法. 访问的是对象中的__dir__()?方法 基础数据类型相关:
数字相关:
bool() 将给定的数据转换成bool值. 如果不给值. 返回False
int() 将给定的数据转换成int值. 如果不给值, 返回0
?oat() 将给定的数据转换成?oat值. 也就是?小数
complex() 创建一个复数. 第一个参数为实部, 第二个参数为虚部. 或者第一个参数直接 用字符串来描述复数
进制转换:
bin() 将给的参数转换成二进制
otc() 将给的参数转换成八进制
hex() 将给的参数转换成十六进制
数学运算:
abs() 返回绝对值
divmode() 返回商和余数
round() 四舍五入
pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
sum() 求和
min() 求最小值
max() 求最大值
和数据结构相关:
列列表和元组:
list() 将一个可迭代对象转换成列列表
tuple() 将一个可迭代对象转换成元组
reversed() 将一个序列列翻转, 返回翻转序列列的迭代器
slice() 列表的切片
字符串相关:
str() 将数据转化成字符串
format() 与具体数据相关, 用于计算各种小数, 精算等
bytes() 把字符串转化成bytes类型
bytearray() 返回一个新字节数组. 这个数字里的元素是可变的, 并且每个元素的值得范 围是[0,256)
memoryview() 查看bytes在内存中的情况
ord() 输入字符找带字符编码的位置
chr() 输入位置数字找出对应的字符
ascii() 是ascii码中的返回该值 不是就返回\u...
repr() 返回一个对象的官方表示形式
数据集合:
dict() 创建一个字典
set() 创建一个集合
frozenset() 创建一个冻结的集合. 冻结的集合不能进行添加和删除操作
其他相关:
len() 返回一个对象中的元素的个数
sorted() 对可迭代对象进行排序操作
enumerate() 获取集合的枚举对象
all() 可迭代对象中全部是True, 结果才是True
any() 可迭代对象中有一个是True, 结果就是True
zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然 后返回由这些元组成的开了表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同.
?lter() 过滤
map() 会根据提供的函数对指定序列列做映射(lamda)
?. lamda匿名函数.
lambda表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数
语法: 函数名 = lambda 参数: 返回值
注意: 1. 函数的参数可以有多个. 多个参数之间用逗号隔开
2. 匿名函数不管多复杂. 只能写一行, 且逻辑结束后直接返回数据
3. 返回值和正常的函数一样, 可以是任意数据类型
匿名函数并不是说一定没有名字. 这里前面的变量就是一个函数名. 说他是匿名原因是我们通 过__name__查看的时候是没有名字的. 统一都叫lambda. 在调用的时候没有什么特别之处. 像正常的函数调用即可
?. sorted()
排序函数.
语法: sorted(Iterable, key=None, reverse=False)
Iterable: 可迭代对象
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函 数的参数. 根据函数运算的结果进行排序
reverse: 是否是倒叙. True: 倒叙, False: 正序
三. ?lter()
筛选函数 语法: ?lter(function. Iterable)
function: 用来筛选的函数. 在?lter中会自动的把iterable中的元素传递给function. 然后 根据function返回的True或者False来判断是否保留此项数据
Iterable: 可迭代对象
四. map() 映射函数
语法: map(function, iterable) 可以对可迭代对象中的每一个元素进行映射. 分别取执行 function
计算列表中每个元素的平方 ,返回新列表
五. 递归 在函数中调用函数本身. 就是递归
在python中递归的深度最大到998 (经测试)
递归的应用: 我们可以使用递归来遍历各种树形结构, 比如我们的文件夹系统. 可以使用递归来遍历该 文件夹中的所有文件
1 import os 2 def read(filepath, n): 3 files = os.listdir(filepath) # 获取到当前文件夹中的所有文件 4 for fi in files: # 遍历文件夹中的文件, 这里获取的只是本层文件名 5 fi_d = os.path.join(filepath,fi) # 加入文件夹 获取到文件夹+文件 6 if os.path.isdir(fi_d): # 如果该路径下的文件是?文件夹 7 print("\t"*n, fi) 8 read(fi_d, n+1) # 继续进行相同的操作 9 else: 10 print("\t"*n, fi) # 递归出口. 最终在这里隐含着return 11 #递归遍历?目录下所有文件 12 read('../old/', 0)
六. 二分查找
二分查找. 每次能够排除掉一半的数据. 查找的效率非常高. 但是局限性比较大. 必须是有 序列才可以使?二分查找 要求: 查找的序列必须是有序列.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python学习日记(九) 装饰器函数 2019-08-13
- python之函数、面向对象 2019-08-13
- python3基础之“函数(2)” 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash