python学习笔记14 内置函数

内置函数一共 68 个

locals() 当前作用域中的变量

globals() 全局作用域中的变量

id() 计算内存地址

hash算法

目的是唯一性

dict字典 查找效率非常高 hash表 用空间换时间 比较耗费内存 

list列表 是可变的,不可hash ,不可用hash() 运算

tuple元组,dict字典 是可hash的

__import__("模块名")  可以动态导入模块

help()  查看帮助

dir() 查看内置属性,查看当前文件夹内容

complex() 复数

bin() 把一个十进制的数转换成二进制

hex()  十六进制

oct()  八进制

callable() 判断参数是否可被调用

函数是可以被调用(执行)的

eval()  执行一个字符串表达式,并返回表达式的值。通常适用于有返回值的代码

exec()  执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。通常适用于没有返回值的代码

compile()  将一个字符串编译为字节码,然后通过exec()执行 或者eval() 求值

compile()并不会执行代码,他只有编译操作

compile() 的作用

1 通过编译对代码加密,执行者无法看到源码

2 一次性编译后执行,执行速度较快

c1 = compile(code1, " ", mode="exec")

mode有 "eval"(有返回值用),"exec"(无返回值用),"single"(有交互时用,如input) 3种

"single" 模式一般用 exec() 而非eval() 执行

 

数学运算

abs() 求绝对值

divmod() 返回商和余数,返回结果为元组

round() 五舍六入

pow(x, y[, z]) 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

sum(iterable[, start])

参数

  • iterable -- 可迭代对象,如:列表、元组、集合。
  • start -- 指定相加的参数,如果没有设置这个值,默认为0。

list()  将元组或字符串转换为列表。

tuple()  将可迭代系列(如列表)转换为元组。

reversed() 函数不会改变原列表,而是返回一个反转的迭代器

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

slice(1,3,1) 效果等同于 lst[1:3:1] 

str()  转换成字符串

repr()  将对象转化为供解释器读取的形式。原样输出,会过滤掉转 \n \t 等转义字符(不会过滤%)

ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。

chr() 用一个整数作参数,返回一个对应的字符。

ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。可以用于判断对象是否在ascii码里

bytes()  返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。

s='李嘉诚的爸爸'

bytes(s, encoding="UTF-8")

print(s.encode("UTF-8"))

bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

memoryview()  返回给定参数的内存查看对象(memory view)。

所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

format()  同于格式化输出,可以接受不限个参数,位置可以不按顺序

^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

+ 表示在正数前显示 +,负数前显示 -;  (空格)表示在正数前加空格

b、d、o、x 分别是二进制、十进制、八进制、十六进制。

 

enumrate()  用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

all()  用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

any()  用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

元素除了是 0、空、None、False 外都算 True。

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

我们可以使用 list() 转换来输出列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

 

预习 : lambda sorted filter map 递归(文件读取)

 

https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac#map

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章