前言
所有的一切在python中都是对象,对象包含三要素:id、type、value
id用来唯一标识一个对象
type标识对象的类型
value是对象的值
不同于列表和字典,字符串和元组是固定不变的(指向同一个内存地址ID)
一、所有的内置函数
-
查看内置函数、内置常量
import builtins
print(dir(builtins))
函数 | 说明 |
---|---|
#数学运算 | 7 |
abs() |
绝对值,返回number |
divmod() | 返回包含除数和余数的元组 |
max() |
返回可迭代对象中的元素中的最大值或者所有参数的最大值 |
min() |
返回可迭代对象中的元素中的最小值或者所有参数的最小值 |
pow() |
返回两个数值的幂运算值或其与指定整数的模值 |
round() |
对浮点数进行四舍五入求值 |
sum() |
对元素类型是数值的可迭代对象中的每个元素求和 |
#类型转换 | 24 |
bool() |
根据传入的参数的逻辑值创建一个新的布尔值 |
int() |
根据传入的参数创建一个新的整数 |
float() |
根据传入的参数创建一个新的浮点数 |
complex() |
根据传入参数创建一个新的复数 |
str() |
返回一个对象的字符串表现形式(给用户) |
bytearray() | 根据传入的参数创建一个新的字节数组 |
bytes() | 根据传入的参数创建一个新的不可变字节数组 |
memoryview() | 根据传入的参数创建一个新的内存查看对象 |
ord() | 返回Unicode字符对应的整数 |
chr() | 返回整数所对应的Unicode字符 |
bin() |
将整数转换成2进制字符串 |
oct() |
将整数转化成8进制数字符串 |
hex() |
将整数转换成16进制字符串 |
tuple() |
根据传入的参数创建一个新的元组 |
list() |
根据传入的参数创建一个新的列表 |
dict() |
根据传入的参数创建一个新的字典 |
set() |
根据传入的参数创建一个新的集合 |
frozenset() |
根据传入的参数创建一个新的不可变集合 |
enumerate() |
根据可迭代对象创建枚举对象 |
range() |
根据传入的参数创建一个新的range对象 |
iter() |
根据传入的参数创建一个新的可迭代对象 |
slice() | 根据传入的参数创建一个新的切片对象 |
super() |
根据传入的参数创建一个新的子类和父类关系的代理对象 |
object() | 创建一个新的objt对象 |
#序列操作(可迭代对象) | 8 |
all() |
判断可迭代对象的每个元素是否都为True值 |
any() |
判断可迭代对象的元素是否有为True值的元素 |
ilter() | 使用指定方法过滤可迭代对象的元素 |
map() |
使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象 |
next() |
返回可迭代对象中的下一个元素值 |
reversed() |
反转序列生成新的可迭代对象 |
sorted() |
对可迭代对象进行排序,返回一个新的列表:list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list |
zip() |
聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器 |
#对象操作 | 9 |
help() |
返回对象的帮助信息 |
dir() |
返回对象或者当前作用域内的属性列表 |
id() |
返回对象的唯一标识符 |
hash() | 获取对象的哈希值 |
type() |
返回对象的类型,或者根据传入的参数创建一个新的类型 |
len() |
返回对象的长度 |
ascii() | 返回对象的可打印表字符串表现方式 |
format() |
格式化显示值 |
vars() |
返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表 |
#反射操作 | 8 |
__import__() |
动态导入模块 |
isinstance() |
判断对象是否是类或者类型元组中任意类元素的实例 |
issubclass() | 判断类是否是另外一个类或者类型元组中任意类元素的子类 |
hasattr() | 检查对象是否含有属性 |
getattr() |
获取对象的属性值 |
setattr() |
设置对象的属性值 |
delattr() | 删除对象的属性 |
callable() | 检测对象是否可被调用 |
#变量操作 | 2 |
globals() |
返回当前作用域内的全局变量和其值组成的字典 |
locals() |
返回当前作用域内的局部变量和其值组成的字典 |
#交互操作 | 2 |
print() |
向标准输出对象打印输出 |
input() |
读取用户输入值 |
#文件操作 | 1 |
open() |
使用指定的模式和编码打开文件,返回文件读写对象 |
#编译执行 | 4 |
compile() | 将字符串编译为代码或者AST对象,使之能够通过exec语句来执行或者eval进行求值 |
eval() | 执行动态表达式求值 |
exec() | 执行动态语句块:执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码 |
repr() | 返回一个对象的字符串表现形式(给解释器) |
#装饰器 | 3 |
property() | 标示属性的装饰器 |
classmethod() | 标示方法为类方法的装饰器 |
staticmethod() | 标示方法为静态方法的装饰器 |
- 其余(待确认)
basestring():是 str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))
execfile():用来执行一个文件
filter():过滤器,用来过滤掉不符合条件的元素,返回由符合条件元素构成的新的列表,该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中
raw_input():原始输入函数,用来从终端接收一行输入
unichr():和 chr()函数功能基本一样, 只不过是返回 unicode 的字符
long():将数字或字符串转换为一个长整型
reload():重新载入之前载入的模块
xrange():用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器
cmp():比较两个对象,返回number,结果在-1、0、1
二、35个关键字 Python3.8.0(不能作为标识符给变量、函数、类、模板以及其他对象命名)
-
查看关键字
import keyword
print(keyword.kwlist)
关键字 | 说明 |
---|---|
#特殊值 | 3 |
True |
|
False |
|
None |
|
#逻辑判断 | 4 |
and |
逻辑与 |
not |
逻辑非 |
or |
逻辑或 |
is |
逻辑判断is 通过id来判断的== 通过value来判断的 |
#定义/命名/导入相关 | 5 |
class |
用来定义一个类 |
def |
用来定义一个函数或方法 |
from |
字面意思,表示从一个包导入某个模块 |
import |
导入 |
as |
为导入的模块取一个别名,在Python2.6中新增 |
#程序流程控制 | 13 |
if |
如果 |
elif |
全称是else |
else |
另外,用在if语句的多判断中 |
while |
不知道循环次数 |
for |
著名的for循环,可以用来遍历一个列表 |
in |
在,后面跟一个列表、字典或字符串 |
break |
用在循环语句,跳转到语句块的末尾 |
continue |
和break相对应,跳到语句块的开头 |
pass |
占位符,用来告诉Python这里不要考虑 |
return |
函数返回 |
try |
异常处理机制 |
except |
异常处理 |
finally |
用在异常处理语句try-except-finally中 |
#变量操作 | 3 |
del |
删除 |
global |
在函数或其他局部作用域中使用全局变量 |
nonlocal | 在Python3.0中新增,在函数或其他作用域中使用外层(非全局)变量 |
#其余 | 7 |
lambda |
lambda表达式,函数式编程(@matlab 句柄函数 a = @(x) x^2) |
assert |
断言一个条件是真的,如果断言出错则抛出异常 |
raise |
明确指出错误(一旦执行raise语句,后面的代码就不执行了) |
with +as
|
在Python2.6中新增,使用with后不管with中的代码出现什么错误,都会进行对当前对象进行清理工作,注意该句话后面有一个冒号表示with语句(默认关闭文本) |
yield | 在Python2.3中新增,用来构造一个生成器 |
async | |
await |
- 旧版本
exec
内置函数,执行以string类型存储的Python代码
References
https://www.cnblogs.com/sesshoumaru/p/6140987.html
https://blog.csdn.net/abc_12366/article/details/79602040
https://blog.csdn.net/listen_forever/article/details/80005656br/