目录
1.内置函数的概述
python内置了很多有用的函数。
这些函数不需要导入任何模块就能直接使用,非常方便。
这篇笔记是对一些内置函数的简要总结。
对我来说,这既是一次分享。也能巩固知识。
一般地,我们会把内置函数进行分类,方便记忆。
下面便是内置函数的介绍。
2.有关输入输出的函数
input()
语法:
input([prompt])
参数:
prompt----字符串(可选项,用于提醒用户输入)
返回:
- 该函数从输入中读取一行,转换为字符串并返回。
- 返回的值是字符串类型
实例:

print()
语法:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数:
objects----表示输出的对象,对象不知一个时,相互之间需用逗号隔开
sep----字符串,表示输出语句中多个对象之间的间隔符,默认为空格
end----字符串,表示输出语句中的结束符,默认值是换行符 \n
file----表示输出位置,是一个具有 write(string) 方法的对象,默认为标准输出
flush----表示是否强制刷新输出缓存里的内容,默认值是False
实例:

加了end的效果如下:

也就是说,print()默认输出是换行的。
3.有关运算的函数
abs(x)
语法:
abs(x)
参数:
x----数值表达式,可以是整数,浮点数,复数等
返回:
- 返回参数
x的绝对值。若x是复数,则返回复数的模。
实例:

pow()
语法:
pow(x, y[, mod])
参数:
x,y,mod----都是数值表达式。参数mod是可选的。
返回:
-
返回
x的y次方,即 x y x^y xy. -
如果加了参数
mod的话,就对结果进行取模,即pow(x,y) % mod
实例:

round()
语法:
round(number[, ndigits])
参数:
number----数值表达式
ndigits----数值表达式
返回:
-
返回
number舍入到小数点后ndigits位精度的值。 -
ndigits是可选的,如果不加参数ndigits,则默认返回最接近输入值的整数,即四舍五入。
实例:

还有这个例子:

divmod()
语法:
divmod(a, b)
参数:
a,b----数值表达式
返回:
- 返回一个元组。该元组包含着商和余数,即
(a//b, a%b)
实例:

max()
语法:
max(iterable,[,default])
或
max(x1, x2...)
参数:
iterable----可迭代对象,比如列表,元组等。
default----数值表达式
x----数值表达式
返回:
如果只有一个参数:
- 那该参数必须是可迭代对象,如列表,元组等。
- 此时会返回可迭代对象中最大的元素。
- 注意:参数
default是可选的,用于当可迭代对象为空时返回的值。 - 如果可迭代对象为空,并且没有给 default ,则会触发异常
ValueError,即报错。
如果不止一个参数:
- 那么返回若干实参中的最大值。
实例:

min()
语法:
min(iterable,[,default])
或
min(x1, x2...)
参数:
iterable----可迭代对象,比如列表,元组等。
default----数值表达式
x----数值表达式
返回:
如果只有一个参数:
- 那该参数必须是可迭代对象,如列表,元组等。
- 此时会返回可迭代对象中最小的元素。
- 注意:参数
default是可选的,用于当可迭代对象为空时返回的值。 - 如果可迭代对象为空,并且没有给 default ,则会触发异常
ValueError,即报错。
如果不止一个参数:
- 那么返回若干实参中的最小值。
实例:

sum()
语法:
sum(iterable[,x])
参数:
iterable----可迭代对象,如列表,元组等
x----数值表达式,是可选的,默认为0,表示计算总和之后再加上x。
返回:
- 对可迭代对象中的项进行求和运算,并返回结果。
实例:

4.有关转换的函数
int()
语法:
int(x {,base=10])
参数:
x----整数或字符串
base----可选项,用来表示x是多少进制数,默认为10进制(允许的进制有 0、2-36)
返回:
-
该函数返回一个基于数字或字符串 x 构造的整数对象
-
如果有 base 参数,那么 x 必须是字符串
-
如果不给出参数,则返回 0
实例:

温馨小知识:
float()
语法:
float([x])
参数:
x----整数或字符串
返回:
-
该函数返回从数字或字符串 x 中生成的浮点数。
-
如果不给出参数,则返回 0.0
-
我们可以使用下划线将字符串中的数字进行分组,这并不会影响到值
实例:

complex()
语法:
complex([real[, imag]])
参数:
real ---- 整数或字符串
imag ----整数
返回:
-
该函数返回值为
real + imag j的复数,或将字符串或数字转换为复数。 -
如果不给出参数,则返回
0j -
如果参数是字符串,则必须有且仅有一个这个字符串参数
实例:

注意:传入的字符串里面的加号不能有空格!
否则会引起异常,即报错。
如图:

str()
语法:
str(object='')
参数:
object----一个对象
返回:
-
将传入的对象转换成字符串形式。
-
如果不给出参数,则返回空字符串
实例:

bool()
语法:
bool([x])
参数:
x----要进行转换的参数
返回:
- 该函数返回布尔值,
True或False - 如果没有参数,返回
False - 如果是数值0或者空序列,则返回
False - 如果是非零值,则返回
True
实例:

list()
语法:
list([iterable])
参数:
iterable----可迭代对象,比如元组,字符串等。
返回:
- 将对象转换为列表
- 如果没有传入参数,则返回空列表
实例:

tuple()
语法:
tuple([iterable])
参数:
iterable----可迭代对象,比如列表,字符串等。
返回:
- 将对象转换为元组
- 如果没有传入参数,则返回空元组
实例:

注意:如果传入的是字典,那么返回的是由字典的key组成的元组
如图:

dict()
语法:
dict(**kwarg)
或
dict(mapping, **kwarg)
或
dict(iterable, **kwarg)
参数:
**kwarg----关键字
mapping----关联式的容器类型,即字典。其存储了对象与对象之间的映射关系。
iterable----可迭代对象
返回:
- 该函数根据传入的参数创建一个字典
- 如果没有参数,则返回一个空字典
- 如果是一个参数,并且参数为映射对象,则返回一个具有与映射对象相同值键对的字典
- 如果是一个参数,并且参数为可迭代对象,则该对象必须每个元素都是包含两个元素的可迭代对象。其中每一项的第一个对象将成为新字典的一个键,第二个对象将成为其对应的值。
- 如果有两个参数,即多了个关键字参数,则关键字参数及其值会被加入到基于位置参数创建的字典。 如果要加入的键已存在,来自关键字参数的值将替代来自位置参数的值。
实例:
创建一个空字典:

语法一举例(即dict(**kwarg))
如图:

语法二举例(即dict(mapping, **kwarg))
如图:

语法三举例(即dict(iterable, **kwarg))
如图:

事实上,我们还能结合zip()函数来创建一个字典
如图:

set()
语法:
set([iterable])
参数:
iterable----可迭代对象
返回:
- 返回一个新的集合,也就是无序不重复元素集
实例:

frozenset()
语法:
frozenset([iterable])
参数:
iterable ---- 可迭代的对象,比如列表、元组等。
返回:
- 返回一个被冻结的集合,即不可变集合,其不能再添加或删除任何元素
- 如果没有参数,则返回一个空集合
实例:

eval()
语法:
eval(expression[, globals[, locals]])
参数:
expression – 字符串,是一条表达式
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
返回:
- 返回表达式
expression中的计算结果。
实例:

chr()
语法:
chr(i)
参数:
i----整数
返回:
- 该函数返回 Unicode 码位为整数 i 的字符的字符串格式。
实例:

需要注意的是,参数i的范围在0~1114111
如图:

备注:1114111的16进制表示就是0x10FFFF
ord()
语法:
chr(c)
参数:
c----字符
返回:
- 该函数返回与字符相对应的十进制整数
实例:

bin()
语法:
bin(x)
参数:
x----整数
返回:
- 该函数返回一个以“0b”为前缀的二进制字符串
实例:

oct()
语法:
oct(i)
参数:
i----整数
返回:
- 该函数返回一个前缀为“0o”的八进制字符串
实例:

hex()
语法:
hex(i)
参数:
i----整数
返回:
- 该函数返回一个以“0x”为前缀的十六进制字符串
实例:

5.有关逻辑判断的函数
all()
语法:
all(iterable)
参数:
iterable----可迭代对象,如元组,列表等。
返回:
- 如果
iterable的所有元素均为真值则返回True。 - 如果传入的
iterable为空,也返回True - 如果
iterable中存在0,None、False则返回False
实例:

any()
语法:
any(iterable)
参数:
iterable----可迭代对象。
返回:
- 如果传入的可迭代对象里不全是0,空,None,False,就返回True
- 如果传入的对象里全是空的,0,None,或者False,则返回False
- 也就是说,只要传入的参数里有一个是真,返回值就为真
实例:

6.有关迭代的函数
filter()
语法:
filter(function, iterable)
参数:
function ----判断函数,用于过滤掉对象里不符合条件的元素
iterable ----可迭代对象,如列表,元组等。
返回:
- 返回一个新的迭代器,其中的元素都符合判断函数的条件
实例:
我们可以利用list()函数来转换filter()函数的返回值

map()
语法:
map(function, iterable, ...)
参数:
function---- 函数
iterable---- 可迭代对象,可以有多个iterable
返回:
- 该函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。
- 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束
实例:
由于该函数返回的是迭代器,所有我们可以用list()函数将结果转换为列表。

range()
range类型是一种不可变的数字序列,通常用于在 for 循环中循环指定的次数。
语法:
range(stop)
或
range(start, stop[, step])
参数:
start----表示序列从 start 开始 (如果该形参未提供则为 0)
stop----表示序列到 stop 结束。(但不包括 stop)
step----表示步长 (如果该形参未提供则为 1)
返回:
- 需要注意的是,该函数返回的是一个可迭代对象,而不是一个列表
如图:

实例:
- 我们可以使用
list()函数来获得列表。
如图:

- 前文讲过
range对象也是一种序列,相比于list和tuple,range的优势在于其总是占用固定数量的内存,因为它只保存了start,stop和step值。 - 所以,一般序列的操作它都能完成(除了拼接和重复,即加法和乘法),因为其内存已经固定了。
range对象也能进行检测、元素索引查找、切片等操作
如图:

reversed()
语法:
reversed(seq)
参数:
seq ---- 序列类型或者是具有 __reversed__() 方法的对象
返回:
- 返回一个反转的序列或迭代器
实例:

sorted()
语法:
sorted(iterable[,key=None, reverse=False])
参数:
iterable ---- 可迭代对象。
key ---- 可选项,指带有单个参数的函数。用于从 iterable 的每个元素中提取用于比较的键进行排序,默认为None,即对所有元素进行排序。
reverse ---- 可选项,指排序规则(默认为False)注:reverse = True 是降序 , reverse = False 是升序
返回:
- 返回一个重新排好序的列表
实例:

zip()
语法:
zip(iterable, ...)
参数:
iterable----可迭代对象,可以有多个。
返回:
- 该函数在多个
iterable上并行迭代,从每个可迭代对象上返回一个数据项组成元组。
也就是说, zip() 返回元组的迭代器,其中第 i 个元组包含的是每个参数迭代器的第 i 个元素。
如图:

需要注意的是:
- 如果若干个可迭代对象的长度不同,此时
zip()在最短的迭代完成后停止。较长可迭代对象中的剩余项将被忽略
如图:

7.其他函数
dir()
语法:
dir([object])
参数:
object----变量、类型等对象
返回:
-
一般返回对象的属性名称,它的类属性名称,并且递归查找它的类的所有基类的属性
-
如果对象是模块,则返回模块的属性名称
-
如果对象是类型或类对象,则返回它们的属性名称,并且递归查找所有基类的属性
-
如果不带参数,则返回当前范围内的变量、方法和定义的类型列表
实例:

help()
语法:
help([object])
参数:
object----对象
返回:
- 如果对象是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字符串,并在控制台上打印帮助信息。如果实参是其他任意对象,则会生成该对象的帮助页。
实例:

如果没有传入参数,解释器控制台就会启动交互式帮助系统。
如图:

id()
语法:
id([object])
参数:
object----对象
返回:
- 该函数返回对象的内存地址
实例:

注意:在对象的生命周期中,id值是唯一且恒定的
len()
语法:
len(s)
参数:
s----对象,可以是列表,元组,字符串,集合,字典等。
返回:
- 该函数防护对象的长度或者说元素个数
实例:

locals()
语法:
locals()
参数:
无参数
返回:
- 该函数更新并返回表示当前本地符号表的字典
如图:

- 在函数内部调用
locals()时,返回由局部变量组成的字典。
如图:

vars()
语法:
vars(object)
参数:
object----对象
返回:
- 该函数返回模块、类、实例或任何其它具有
__dict__属性的对象的__dict__属性。
如图:

查看math模块

注意:
- 如果不带参数,那么
vars()的行为类似于locals()
如图:

type()
语法1:
type(object)
参数:
object----对象
语法2:
type(name, bases, dict)
参数:
name ---- 类的名称。
bases ---- 基类的元组。
dict ----- 字典,类内定义的命名空间变量。
返回
-
如果只有一个参数
object,那么返回值是一个type对象。 -
通常与
object.__class__所返回的对象相同。
如图:

- 如果传入三个参数,则返回一个新的 type 对象
- 这其实是
class语句的一种动态形式 name字符串即类名并会成为__name__属性bases元组包含基类并会成为__bases__属性,如果为空则会添加所有类的终极基类objectdict字典包含类主体的属性和方法定义,它在成为__dict__属性之前可能会被拷贝或包装。
比如:
calss A:
var = 666
# 上面语句等同于下面这一条语句
A = type('X',(),dict(var=666))
8.小结
以上便是python内置函数的简要总结。
实际上还有一点python的内置函数没讲,我准备用到了再讲。
用好内置函数,能事半功倍,让我们一起加油,学好python

