内置函数,就是Python提供的, 可以直接拿来直接用的函数。
一、数字相关
01 数据类型
bool()
描述:测试一个对象是True, 还是False。bool 是 int 的子类。
语法:class bool([x])
参数:x -- 要进行转换的参数。
int()
描述:int() 函数用于将一个字符串或数字转换为整型。 x可能为字符串或数值,将x 转换为一个普通整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出了普通整数的表示范围,一个长整数被返回。
语法:int(x, base =10)
参数:
- x -- 字符串或数字。
- base -- 进制数,默认十进制。
float()
描述:将一个字符串或整数转换为浮点数
语法:class float([x])
参数:x -- 整数或字符串
complex()
描述:创建一个复数
语法:class complex([real[, imag]])
参数:
- real -- int, long, float或字符串;
- imag -- int, long, float;
02 进制转换
bin()
描述:bin() 返回一个整数 int 或者长整数 long int 的二进制表示。将十进制转换为二进制
语法:bin(x)
参数:x -- int 或者 long int 数字
oct()
描述:将十进制转换为八进制 otc() 将给的参数转换成八进制
语法:oct(x)
参数:x -- 整数。
hex()
描述:hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
语法:hex(x)
参数:x -- 10进制整数。
03 数学运算
abs()
描述:返回数字绝对值或复数的模
语法:abs( x )
参数:x 数值表达式。
divmod()
描述:divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
语法:divmod(a, b)
参数:
- a: 数字--被除数
- b: 数字--除数
round()
描述:round() 函数返回浮点数x的四舍五入值。
语法:round( x [, n] )
参数:
- x -- 数值表达式。
- n --代表小数点后保留几位
pow()
描述:pow(x,y) 方法返回x的y次方的值,等价于x**y。函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
语法:pow(x, y[, z])
参数:
- x -- 数值表达式。
- y -- 数值表达式。
- z -- 数值表达式。
sum()
描述:sum() 方法对系列进行求和计算。
语法:sum(iterable[, start])
参数:
- iterable -- 可迭代对象,如:列表、元组、集合。
- start -- 指定相加的参数,如果没有设置这个值,默认为0。
min()
描述:min() 方法返回给定参数的最小值,参数可以为序列。
语法:min( x, y, z, .... )
参数:
- x -- 数值表达式。
- y -- 数值表达式。
- z -- 数值表达式。
max()
描述:max() 方法返回给定参数的最大值,参数可以为序列。
语法:max( x, y, z, .... )
参数:
- x -- 数值表达式。
- y -- 数值表达式。
- z -- 数值表达式。
二、数据结构相关
01 序列数据类型
1)列表和元组
list()
描述:list() 函数创建列表或者用于将序列转换为列表。
语法:list( iterable )
参数:iterable -- 可迭代序列。
tuple()
描述: 元组 tuple() 函数将列表转换为元组。
语法:tuple( iterable )
参数:iterable -- 要转换为元组的可迭代序列。
2)集合数据类型
dict()
描述:创建数据字典
语法:
- class dict(**kwarg)
- class dict(mapping, **kwarg)
- class dict(iterable, **kwarg)
参数:
- **kwargs -- 关键字
- mapping -- 元素的容器。
- iterable -- 可迭代对象。
set()
描述:set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
语法:class set([iterable])
参数:iterable -- 可迭代对象对象;
frozenset()
描述:frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
语法:class frozenset([iterable])
参数:iterable -- 可迭代的对象,比如列表、字典、元组等等。
3)字符串
str()
描述:str() 函数将对象转化为适于人阅读的形式。将字符类型、数值类型等转换为字符串类型
语法:class str(object='')
参数:object -- 对象。
format()
描述:Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。使用format()来格式化字符串时,使用在字符串中使用{}作为占位符,占位符的内容将引用format()中的参数进行替换。可以是位置参数、命名参数或者兼而有之。
format 函数可以接受不限个参数,位置可以不按顺序。
语法:format(value, format_spec)
bytes()
描述:将一个字符串转换成字节类型
语法:class bytes([source[, encoding[, errors]]])
参数:
- 如果 source 为整数,则返回一个长度为 source 的初始化数组;
- 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
- 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
- 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
- 如果没有输入任何参数,默认就是初始化数组为0个元素。
bytearray()
描述:返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值得范围是[0,256)
语法:class bytearray([source[, encoding[, errors]]])
参数:
- 如果 source 为整数,则返回一个长度为 source 的初始化数组;
- 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
- 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
- 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
- 如果没有输入任何参数,默认就是初始化数组为0个元素。
ord()
描述:查看某个ascii对应的十进制数
语法:ord(c)
参数:c -- 字符。
chr()
描述:chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
语法:chr(i)
参数:i -- 可以是10进制也可以是16进制的形式的数字。
ascii()
描述:ascii() 函数返回任何对象(字符串,元组,列表等)的可读版本。
ascii() 函数会将所有非 ascii 字符替换为转义字符:
å 将替换为 \xe5。
语法:ascii(object)
参数:object--对象,可以是元组、列表、字典、字符串、set()创建的集合。
03 数据结构处理相关函数
len()
描述:len() 函数返回对象(字符、列表、元组等)长度或项目个数。
语法:len(s)
参数:s -- 对象。
sorted()
描述:sorted()函数对所有可迭代的对象进行排序操作。
语法:sorted(iterable, key=None, reverse=False)
参数:
- iterable--可迭代对象。
- key--主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse=True降序 ,reverse = False升序(默认)。
sort 与 sorted 区别:
sort 是应用在list 的方法,sorted可以对所有可迭代的对象进行排序操作;list的sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数sorted方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
reversed()
描述:reversed函数返回一个反转的迭代器。
语法:reversed(seq)
参数:seq -- 要转换的序列,可以是 tuple, string, list 或 range。
slice()
描述:slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。返回一个表示由 range(start, stop, step) 所指定索引集的 slice对象
语法:
- class slice(stop)
- class slice(start, stop[, step])
参数:
- start -- 起始位置
- stop -- 结束位置
- step -- 间距
enumerate()
描述:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。返回一个可以枚举的对象,该对象的next()方法将返回一个元组。enumerate在字典上是枚举、列举的意思。
语法:enumerate(sequence, [start=0])
参数:
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置。
all()
描述:接受一个迭代器,如果迭代器(元组或列表)的所有元素都为真,那么返回True,否则返回False,元素除了是0、空、None、False外都算 True。注意:空元组、空列表返回值为True,这里要特别注意。
语法:all(iterable)
参数:iterable -- 元组或列表
any()
描述:接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False,元素除了是 0、空、None、False 外都算 True。
语法:any(iterable)
参数:iterable -- 元组或列表
zip()
描述:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。我们可以使用 list() 转换来输出列表。,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法:zip([iterable, ...])
参数:iterable 一个或多个迭代器
filter()
描述:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
语法:filter(function, iterable)
参数:
- function -- 判断函数。
- iterable -- 可迭代对象。
map()
描述:map() 会根据提供的函数对指定序列做映射。返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器
语法:map(function, iterable, ...)
参数:
- function -- 函数
- iterable -- 一个或多个序列
三、和作用域相关
locals()
描述:locals() 函数会以字典类型返回当前位置的全部局部变量。对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。
语法:locals()
globals()
描述: 函数会以字典类型返回当前位置的全部全局变量。
语法:globals()
四、迭代器生成器
range()
描述:range() 函数可创建一个整数列表,一般用在 for 循环中。
语法:range(start, stop[, step])
参数:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0,5)等价于 range(0, 5, 1)
next()
描述:next() 返回迭代器的下一个项目。next() 函数要和生成迭代器的iter() 函数一起使用。
语法:next(iterator[, default])
参数:
- iterator -- 可迭代对象
- default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发StopIteration异常。
iter()
描述:返回一个 iterator 对象
语法:iter(object[, sentinel])
参数:
- object -- 支持迭代的集合对象。
- sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。
五、字符串类型代码的执行
eval()
描述:将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容
语法:eval(expression[, globals[, locals]])
参数:
- expression -- 表达式。
- globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
- locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
exec()
描述:执行储存在字符串或文件中的Python语句,相比于eval,exec可以执行更复杂的Python代码。
语法:exec(object, globals, locals)
参数:
- object-- 要执行的表达式。
- globals -- 可选。包含全局参数的字典。
- locals -- 可选。包含局部参数的字典。
compile()
描述:compile() 将 source 编译成代码或 AST 对象,将字符串类型的代码编码, 代码对象能够通过exec语句来执行或者eval()进行求值
语法:compile(source, filename, mode[, flags[, dont_inherit]])
参数:
- source -- 字符串或者AST(Abstract Syntax Trees)对象。。
- filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
- mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
- flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
- flags和dont_inherit是用来控制编译源码时的标志
六、输入输出
print()
描述:print() 方法用于打印输出,最常见的一个函数。在 Python3.3 版增加了 flush 关键字参数。print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数:
- objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep -- 用来间隔多个对象,默认值是一个空格。
- end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
- file -- 要写入的文件对象。
- flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
input()
描述:Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。获取用户输入内容
语法:input([prompt])
参数:prompt:--提示信息
七、内存相关
hash()
描述:返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键。相同大小的数字变量有相同的哈希值(即使它们类型不同,如 1 和 1.0),hash表.用空间换的时间比较耗费内存,hash() 函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary。
语法:hash(object)
参数:object -- 对象
hash() 函数的用途:hash() 函数的对象字符不管有多长,返回的hash值都是固定长度的,也用于校验程序在传输过程中是否被第三方(木马)修改,如果程序(字符)在传输过程中被修改hash值即发生变化,如果没有被修改,则hash值和原始的hash值吻合,只要验证hash值是否匹配即可验证程序是否带木马(病毒)。
memoryview()
描述:memoryview() 函数返回给定参数的内存查看对象(Momory view)。返回由给定实参创建的“内存视图”对象, Python 代码访问一个对象的内部数据,只要该对象支持缓冲区协议而无需进行拷贝
语法:memoryview(obj)
参数:obj -- 对象
八、文件读写
open()
描述:open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。所以open()读取文件分为两步。
语法:open(name[, mode[, buffering]])
参数:
- name : 一个包含了你要访问的文件名称的字符串值。
- mode : mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
- buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
打开文件的模式:
r: 打开一个文件用于只读,文件的指针将会放在文件的开头,这是默认模式。
w:打开一个文件用于写入,如果文件存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a:打开一个文件用于追加,如果文件已存在,文件指针将会放在文件的结尾,如果文件不存在,创建新文件进行写入。
r+:打开一个文件用于读写,文件指针将会放在文件的开头。
w+:打开一个文件用于读写。如果该文件已存在,删除原有内容并从开头开始编辑;如果该文件不存在,创建新文件。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾,如果该文件不存在,创建新文件用于读写。
rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
注意:当读取音视频、图片等二进制文件时,需要采用二进制的读取方法。
file对象方法
file.read([size]):size 未指定则返回整个文件,如果文件大小>2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
file.readline():返回一行。
file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
for line in file: print(line):通过迭代器访问。
file.write():如果要写入字符串以外的数据,先将他转换为字符串。
file.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。
file.seek(偏移量,[起始位置]):用来移动文件指针。偏移量: 单位为比特,可正可负;起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
file.close():关闭文件
九、模块相关
__ import__()
描述:该函数会导入 name 模块,有可能使用给定的 globals 和 locals 来确定如何在包的上下文中解读名称。 fromlist 给出了应该从由 name 指定的模块导入对象或子模块的名称。 标准实现完全不使用其 locals 参数,而仅使用 globals 参数来确定 import 语句的包上下文。level 指定是使用绝对还是相对导入。 0 (默认值) 意味着仅执行绝对导入。
语法:__import__(name, globals=None, locals=None, fromlist=(), level=0)
参数:object -- 对象
十、获取帮助
help()
描述:返回对象的帮助文档
语法:help(object)
参数:object -- 对象
十一、对象调用
callable()
描述:callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象object绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回True。
这个函数一开始在 Python 3.0 被移除了,但在 Python 3.2 被重新加入。
语法:callable(object)
参数:object -- 对象
十二、内置属性
dir()
描述:dir() 查看对象的内置属性, 访问的是对象中的__dir__()方法,函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用,如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
语法:dir(object)
参数:object 对象、变量、类型。
dir()访问的是对象中的__dir__()方法,因此下面的调用也能得到相同的结果:
print(dir(str))、print(dir(list))、print(dir(dict))、分别获取各个数据类型的方法,不带参数时返回当前范围内的变量,方法和定义的类型列表;带参数时返回参数的属性,方法列表。
hasattr()
描述:函数用于判断对象是否包含对应的属性。
语法:hasattr(object, name)
参数:
- object -- 对象。
- name -- 字符串,属性名。