六.Python内置函数
1.数学运算函数
- 内置函数简介:
内置函数,即Python安装后就自带有的函数
Python官方提供的所有内置函数用法网址:
https://docs.python.org/zh-cn/3/library/functions.html
- 常用数学运算函数:
1.abs() - 求绝对值
用法:
abs(数值)
例:
print(abs(-25))
# 结果为打印25
print(abs(35))
# 结果为打印35
print(abs(-2.56))
# 结果为打印2.56
2.round() - 对浮点数近似取值
用法:
round(数值,数值)
# 后面的数值意为保留几位小数,可省略
例:
print(round(2.57))
# 结果为打印3
print(round(2.57,1))
# 结果为打印2.6
3.pow() - 求指数
用法:
pow(x,y,z)
# x,y和z都代表数值
# 此函数返回值为x的y次方,相当于x**y.
# 若z存在则对算出来的值取余,相当于(x**y)%z
例:
print(pow(2,4))
# 结果为打印16
print(pow(2,4,3))
print((2**4)%3)
# 结果都为打印1
4.divmod() - 求商和余数
用法:
divmod(x,y)
# 返回一个包含商和余数的元组(x//y,x%y)
例:
print(divmod(8,2))
# 结果为打印(4, 0)
print(divmod(8,3))
# 结果为打印(2, 2)
5.max() - 求最大值
用法:
max(x,y...)
例:
print(max(1,500,100))
# 结果为打印500
min() - 求最小值
用法同max()
6.sum() - 求和
用法:
sum(iterable,start)
# iterable代表可迭代的对象(列表,元组,集合等),start对iterable算完后的值再次相加求和
例:
print(sum([1,2,3]))
# 结果为打印6
print(sum([1,2,3],2))
# 结果为打印8
7.eval() - 执行表达式
用法:
eval(expression[, globals[, locals]])
# expression -- 表达式
# globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
# locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
例:
print(eval('1+2'))
# 结果为打印3
a=5
b=3
print(eval('a+b'))
# 结果为打印8
print(eval('a+b',{'a':2,'b':3}))
# 结果为打印5
2.类型转换函数
- 常用类型转换函数
1. (Num)数字类型转换
- int() - 转为整型
用法:
int(x,base=进制数)
# x代表字符串或数字,base为可省略参数
例:
print(int(2.5))
# 结果为打印2
print(int('a',base=16))
# 结果为打印10,因为16进制中a对应十进制的数值为10
print(int('0101',base=2))
# 结果为打印5,因为二进制中0101对应十进制的数值为5
- float() - 转为浮点数
用法:
float(x)
# x代表字符串或整数
例:
print(float(2))
# 结果为打印2.0
- str() - 转为字符串
用法:
str(object='')
# object代表对象
例:
print(type(str(1)))
# 结果为打印<class 'str'>
2.ASCII码转换
- ord() - 字符转数字(ASCII码)
用法:
ord('字符')
# 返回字符对应的ACSII码值
例:
print(ord('a'))
# 结果为打印97
- chr() - 数字转字符(ASCII码)
用法:
chr(数字)
# 返回ASCII码值对应的字符
例:
print(chr(66))
# 结果为打印B
3.bool() - 转为布尔型
用法:
bool(x)
# x为要转换的对象
例:
print(bool(0))
# 结果为打印False
print(bool(1))
# 结果为打印True
4.进制转换
- bin() - 十进制转为二进制
用法:
bin(x)
# x为整数
例:
print(bin(20))
# 结果为打印0b10100
a=20
print(bin(a))
# 结果为打印0b10100
- hex() -十进制转为十六进制
用法:
hex(x)
# x为十进制整数
例:
print(hex(15))
# 结果为打印0xf
- oct() - 十进制转为八进制
用法:
oct(x)
# x为整数
例:
print(oct(10))
# 结果为打印0o12
5.类型转换
- list() - 元组转换为列表
用法:
list(Tuple)
# Tuple为要转换为列表的元组
例:
print(list((1,2,3)))
# 结果为打印[1, 2, 3]
- tuple() - 列表转换为元组
tuple(sequence)
# sequence为要转换的序列
例:
print(tuple([1,2,3]))
# 结果为打印(1, 2, 3)
print(tuple({'a':1,"b":2}))
# 结果为打印('a', 'b')
- dict() - 创建字典
用法:
dict(**kwarg)
dict(mapping, **kwarg)
dict(iterable, **kwarg)
# **kwargs -- 关键字
# mapping -- 元素的容器
# iterable -- 可迭代对象
例:
print(dict(a=15,b='xiaoli',c=[99,97,100]))
# 结果为打印{'a': 15, 'b': 'xiaoli', 'c': [99, 97, 100]}
- bytes() - 转为字节数组
返回一个新的(字节数组)bytes对象,是一个不可变序列,包含了范围为 0 <= x < 256 的整数.
用法:
bytes([source[, encoding[, errors]]])
# source 为整数,则返回一个长度为 source 的初始化数组;
# source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
# source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
# source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytes
# 如果没有输入任何参数,默认就是初始化数组为0个元素
例:
print(bytes('好',encoding='utf-8'))
# 结果为打印b'\xe5\xa5\xbd'
print(bytes('好'.encode('utf-8')))
# 结果为打印b'\xe5\xa5\xbd'
# 两者打印结果一致,皆可使用
print(bytes('好'.encode('gbk')))
# 结果为打印b'\xba\xc3'
3.序列操作函数
- 序列操作函数
1.判断
- all() - 判断正确
用法:
all(iterable)
# iterable 代表元组或列表
# 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 True,如果是返回 True,否则返回 False
# 元素除了是 0,空,False 外都算 True
例:
print(all([1,2,3]))
# 结果为打印True
print(all((1,2,0,23)))
# 结果为打印False
- any() - 判断错误
用法:
any(iterable)
# iterable 代表元组或列表
# 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,
# 则返回 True.和all()函数正好相反
例:
print(any((0,False,1)))
# 结果为True
2.排序
- sorted() - 函数对所有可迭代的对象进行排序
用法:
sorted(iterable, *, key=None, reverse=False)
# iterable 代表可迭代对象
# key 代表主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,
# 指定可迭代对象中的一个元素来进行排序
# reverse 代表排序规则,reverse = True 降序 , reverse = False 升序(默认升序)
例:
print(sorted([12,231,31],key=int,reverse=True))
# 结果为打印[231, 31, 12]
sort与sorted区别:
sort是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作,
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
- reverse() - 用于反向列表中元素
用法:
列表.reverse()
# 注:该函数没有参数,也没有返回值,但会对列表元素反向排序
例:
a=[1,20,17]
a.reverse()
print(a)
# 结果为打印[17, 20, 1]
- range() - 创建一个整数列表
用法:
range(start, stop[, step])
# start 代表计数开始,默认从0开始
# stop 代表计数结束
#step 代表步长,默认为1
例:
for Test in range(0,5):
print(Test,end=' ')
# 结果为打印0 1 2 3 4
# end=' '意为不换行,以' '相隔
3.打包
- zip() - 将对象中的元素打包成一个个元组
用法:
zip([iterable, ...])
# iterable 代表一个或多个迭代器
# 返回元组列表
例:
a=zip(['Age','Name'],[15,'xiaoli'])
print(a)
# 结果为打印<zip object at 0x000002272AB0F2C0>
print(list(a))
# 查看打包后的文件
# 结果为打印[('Age', 15), ('Name', 'xiaoli')]
4.遍历
- enumerate() - 将一个可遍历的数据对象组合为一个索引序列
用法:
enumerate(sequence, [start=0])
# sequence 代表一个序列或其他支持迭代的对象
# start 代表下标起始位置
# 函数用于将一个可遍历的数据对象组合为一个索引序列,
# 同时列出数据和数据下标,一般用在for循环中
例:
for Test in enumerate(['Name','Age']):
print(Test,end=' ')
# 结果为打印(0, 'Name') (1, 'Age')
4.集合操作函数
- set集合
set(集合)是Python中的一种数据类型,是一个无序且不重复的元素集合,若产生重复则会自动覆盖
例:
a={1,2,3,1}
print(a)
# 结果为打印{1, 2, 3}
- 集合操作函数
1.添加,清空
- add() - 添加元素
用法:
集合.add(元素)
# 注意:一次只能添加一个元素
例:
a={1,2,3}
a.add(4)
print(a)
# 结果为打印{1, 2, 3, 4}
- clear() - 清空元素
用法:
集合.clear()
# 全部清空
例:
a={1,2,3}
a.clear()
print(a)
# 结果为打印set()
2.集合操作
- difference() - 求差集
用法:
a.difference(b)
# a和b都代表集合,求差集,即a中存在,b中不存在的元素
例:
a={1,21,15}
b={1,20,11}
print(a.difference(b))
# 结果为打印{21, 15}
- intersection() - 求交集
用法:
a.intersection(b)
# a和b都代表集合,求交集,即a中存在,b中也存在的元素
例:
a={12,13,14}
b={12,13,10}
print(a.intersection(b))
# 结果为打印{12, 13}
- union() - 求并集
用法:
a.union(b)
# a和b都代表集合,求并集,即a中存在的元素和b中存在的元素
例:
a={5,6,7}
b={12,4,2}
print(a.union(b))
# 结果为打印{2, 4, 5, 6, 7, 12}
3.移除,更新
- pop() - 随机移除某个元素
用法:
集合.pop()
# 随机移除某个元素并获取那个元素,没有参数
例:
a={1,25,13}
print(a.pop())
# 结果为打印25(可能不一样)
- discard - 移除指定元素
用法:
a={12,13,14}
a.discard(13)
print(a)
# 结果为打印{12, 14}
- update() - 更新集合
用法:
a={1,12,8}
b={2,9,5}
a.update(b)
print(a)
# 结果为打印{1, 2, 5, 8, 9, 12}