六.Python内置函数

六.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}
上一篇:[Guava] Google Guava 集合工具类


下一篇:2021/6/14 魔术方法、可迭代对象、异常处理