Python开发-022_内置函数
在python中,我们可以获得很多功能强大的函数,其中由官方提供,在编译器中直接继承的函数被称为内置函数,在这里介绍其中36个常用的内置函数
1 数学运算相关
1.1 abs
abs() 函数返回数字的绝对值
abs(x)
1.2 pow 指数
函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于 pow(x,y)%z
**注意:**pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
# 内置pow()
v1 = pow(2,5) # 2的5次方 2**5
print(v1)
# math.pow()
import math
math.pow(x, y)
1.3 sum
sum() 方法对序列进行求和计算
sum(iterable,start)
- iterable -- 可迭代对象,如:列表、元组、集合
- start -- 指定相加的参数,如果没有设置这个值,默认为0
sum([0,1,2])
3
sum((2, 3, 4), 1) # 元组计算总和后再加 1
10
sum([0,1,2,3,4], 2) # 列表计算总和后再加 2
12
1.4 divmod
python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
在 python 2.3 版本之前不允许处理复数
v1, v2 = divmod(9, 2)
print(v1, v2) # v1=4 商 v2=1 余
1.5 round
round(浮点数,余几位小数) 方法返回浮点数x的四舍五入值
v1 = round(4.11786, 2)
print(v1) # 4.12
2 数据处理
2.1 min 最小值
Python min() 方法返回字符串中最小的数字,或根据ASCII码排列最小的字符
v1 = min(11, 2, 3, 4, 5, 56)
print(v1) # 2
v2 = min([11, 22, 33, 44, 55]) # 支持传入可被迭代的类型
print(v2)
v3 = min([-11, 2, 33, 44, 55], key=lambda x: abs(x))
# 每一个参数都会被拿到lambda x: abs(x)执行一次,所以2的绝对值是最小的
print(v3) # 2
2.2 max 最大值
Python max() 方法返回字符串中最大的数字,或根据ASCII码排列最大的字符
v1 = max(11, 2, 3, 4, 5, 56)
print(v1)
v2 = max([11, 22, 33, 44, 55])
print(v2)
v3 = max([-11, 22, 33, 44, 55], key=lambda x: x * 10)
# 每一个参数都会被拿到lambda x: abs(x)执行一次,所以55的绝对值是最大的
print(v3) # 55
2.3 all 是否全部为True
all() 函数用于判断给定的可迭代参数中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True
v1 = all([11,22,44,""]) # False
2.4 any 是否存在True
any() 函数用于判断给定的可迭代参数是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE
v2 = any([11,22,44,""]) # True
3 进制转换
3.1 bin 十进制转二进制
bin(10)
3.2 oct 十进制转八进制
oct(10)
3.3 hex 十进制转十六进制
hex(10)
4 unicode表
4.1 ord 获取字符对应的unicode码点(十进制)
v1 = ord("杨")
print(v1, hex(v1))
4.2 chr 根据码点(十进制)获取对应字符
v1 = chr(27494)
print(v1)
5 数据类型转换
5.1 int整形
int() 函数用于将一个字符串或数字转换为整型
int(12.3) # 12
5.2 float
float() 函数用于将整数和字符串转换成浮点数
float(1)
1.0
float(112)
112.0
float(-123.6)
-123.6
float('123') # 字符串
123.0
5.3 str
将unicode编码转化为字符形式
a = '\u006b\u0069\u006e\u0067\u0068\u0074'
str(a)
'kinght'
5.4 bytes
将utf-8、gbk编码转换为bytes格式(字节码格式)
v1 = "kinght" # str类型
v2 = v1.encode('utf-8') # bytes类型
v3 = bytes(v1,encoding="utf-8") # bytes类型
5.5 bool
bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False,bool 是 int 的子类
5.6 list
list() 方法用于将元组转换为列表。
**注:**元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中
5.7 dict
dict() 函数用于创建一个字典
5.8 tuple
tuple() 函数将可迭代系列(如列表)转换为元组
5.9 set
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
6 其他
6.1 len
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数
len([1,2,3,4,5,6])
6.2 print
print() 方法用于打印输出,最常见的一个函数
print('3.1415926')
6.3 input
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
username = input("请输入你的名字")
6.4 open
open() 方法用于打开一个文件,并且设置需要的打开选项
file_object = open('123.txt',mode='rb')
6.5 type,获取数据类型
type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象
v1 = "123"
if type(v1) == str:
pass
else:
pass
6.6 range
python2.x range() 函数可创建一个整数列表,一般用在 for 循环中
Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
for item in range(10):
print(item,end=" ")
# 0 1 2 3 4 5 6 7 8 9
6.7 enumerate
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
Python 2.3. 以上版本可用,2.6 添加 start 参数
v1 = ["kinght", "alex", 'root']
for num, value in enumerate(v1, 1):
# 列表会提供索引位置 从0开始
print(num, value)
6.8 id
id() 函数返回对象的唯一标识符,标识符是一个整数,CPython 中 id() 函数用于获取对象的内存地址
a = 'runoob'
id(a) # 4531887632
b = 1
id(b) # 140588731085608
6.9 hash
hash() 用于获取取一个对象(字符串或者数值等)的哈希值
v1 = hash("kinght")
6.10 help,帮助信息
help() 函数用于查看函数或模块用途的详细说明
pycharm,不用
终端,使用 help(str)
6.11 zip
会将多个列表,索引相同的元素,组合成一个列表,然后放到那个元素中
v1 = [11, 22, 33, 44, 55, 66]
v2 = [55, 66, 77, 88]
v3 = [10, 20, 30, 40, 50]
result = zip(v1, v2, v3)
for item in result:
print(item)
'''
(11, 55, 10)
(22, 66, 20)
(33, 77, 30)
(44, 88, 40)
6.12 callable
判断变量名对应空间存储的是否可执行(后面是否可以加括号)
v1 = "kinght"
v2 = lambda x: x
def v3():
pass
print( callable(v1) ) # False
print(callable(v2))
print(callable(v3))
13 sorted,排序
v1 = sorted([211,221,33,44,55]) # 默认从小到大
v2 = sorted([211,221,33,44,55],reverse = True) # True是从大到小
info = {
"wupeiqi": {
'id': 10,
'age': 119
},
"root": {
'id': 20,
'age': 29
},
"seven": {
'id': 9,
'age': 9
},
"admin": {
'id': 11,
'age': 139
},
}
v1 = sorted(info) # key进行排序
result = sorted(info.items(), key=lambda x: x[1]['id']) # 根据内部id进行排序
print(result)
data_list = [
'1-5 编译器和解释器.mp4',
'1-17 今日作业.mp4',
'1-9 Python解释器种类.mp4',
'1-16 今日总结.mp4',
'1-2 课堂笔记的创建.mp4',
'1-15 Pycharm使用和破解(win系统).mp4',
'1-12 python解释器的安装(mac系统).mp4',
'1-13 python解释器的安装(win系统).mp4',
'1-8 Python介绍.mp4', '1-7 编程语言的分类.mp4',
'1-3 常见计算机基本概念.mp4',
'1-14 Pycharm使用和破解(mac系统).mp4',
'1-10 CPython解释器版本.mp4',
'1-1 今日概要.mp4',
'1-6 学习编程本质上的三件事.mp4',
'1-18 作业答案和讲解.mp4',
'1-4 编程语言.mp4',
'1-11 环境搭建说明.mp4'
]
result = sorted(data_list, key=lambda x: int(x.split(' ')[0].split("-")[-1]) )
print(result)