文章目录
- `abs(x)` 返回`x`的绝对值
- `pow(x,y)` 返回`x`的`y`次幂
- `round(x[,n])` 返回浮点数`x`的四舍五入值,参数`n`指定保留小数位数
- `divmod(a,b)` 返回`a`除以`b`的商和余数,返回一个元组
- `max()` 最大值
- `min()` 最小值
- 进制之间的转换
- `bool()` 布尔值 `0 None 空`为假 其余都为真
- `all()` 把序列中的每个元素提出来,进行布尔运算
- `any()` 把序列中的每个元素提出来,进行布尔运算,只要有一个为真即为真
- `bytes()` 把一个字符串转换成字节的形式
- `chr()` 转换字符
- `eval()`
- `enumerate()` 函数
- `isinstance()` 判断一个数据是不是相应的数据类型
- 字符串相关的内置函数
abs(x)
返回x
的绝对值
print(abs(-1))
print(abs(1))
运行结果
1
1
pow(x,y)
返回x
的y
次幂
print(pow(2,3)) #2的3次幂
print(pow(3,3,2)) #3**3%2
运行结果
8
1
round(x[,n])
返回浮点数x
的四舍五入值,参数n
指定保留小数位数
print(round(80.23456,2))
运行结果
80.23
divmod(a,b)
返回a
除以b
的商和余数,返回一个元组
print(divmod(8,5))
运行结果
(1, 3)
max()
最大值
max
函数处理的是可迭代对象,相当于一个for
循环取出每个元素进行比较,注意,不同类型之间不能进行比较- 每个元素进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出大小,后面都不需要比较了,直接得出这俩元素的大小
l=[1,3,100,-1,-2]
print(max(l))
L=[(5,'e'),
(1,'b'),
(3,'a'),
(4,'b')]
print(list(max(L)))
ll=['a10','b12','c10']
print(max(ll))
#11=['a10','b12',102] 不同类型不能进行比较
age_dic={'age1':18,'age4':20,'age3':100,'age2':30}
print(max(age_dic.values())) #比较的是key,但是不知道是哪个key对应的
print(max(age_dic)) #默认比较key的大小
#zip(age_dic.values(),age_dic.keys()) #(18,'age1') (20,'age4')..
print(list(max(zip(age_dic.values(),age_dic.keys()))))
运行结果
100
[5, 'e']
c10
100
age4
[100, 'age3']
min()
最小值
l=[1,3,100,-1,-2]
print(min(l))
运行结果
-2
进制之间的转换
#bin() 十进制转换成二进制
print(bin(3))
#hex() 十进制转换成十六进制
print(hex(12))
#oct() 十进制转换成八进制
print(oct(12))
运行结果
0b11
0xc
0o14
bool()
布尔值 0 None 空
为假 其余都为真
print(bool(''))
print(bool(0))
print(bool(None))
print(bool(2))
运行结果
False
False
False
True
all()
把序列中的每个元素提出来,进行布尔运算
- 只要里面一个元素为假即为假
print(all([1,0,'2']))
print(all('hello'))
print(all([1,2,'']))
print(all('1230')) #把'1230'看做一个整体 不是有0就一定是False
print(all('')) #如果只有一个元素且为空,这样输出为True
运行结果
False
True
False
True
True
any()
把序列中的每个元素提出来,进行布尔运算,只要有一个为真即为真
print(any([1,2,'']))
print(any(''))
运行结果
True
False
bytes()
把一个字符串转换成字节的形式
- 在
bytes()
里面要注明编码方式
print(bytes('你好',encoding='utf-8'))
print(bytes('你好',encoding='utf-8').decode('utf-8')) #decode解码
print(bytes('你好',encoding='gbk'))
print(bytes('你好',encoding='gbk').decode('gbk'))
print(bytes('nihao',encoding='ascii').decode('ascii')) #ascii不能编码中文
运行结果
b'\xe4\xbd\xa0\xe5\xa5\xbd'
你好
b'\xc4\xe3\xba\xc3'
你好
nihao
chr()
转换字符
print(chr(16))
print(chr(65))
运行结果
A
eval()
- 把字符串中的数据结构提取出来
dic={'name':'alex'}
dic_str=str(dic) #将字典转换成字符串
print(type(dic_str),dic_str) #输出为"{'name':'alex'}"只不过在显示台看不到双引号
print(type(eval(dic_str)),eval(dic_str)) #转换成字符串的字典结构提取出来
d=eval(dic_str)
print(d['name'])
运行结果
<class 'str'> {'name': 'alex'}
<class 'dict'> {'name': 'alex'}
alex
- 把字符串中的表达式进行运算
express='1+2*(3/3-1)-2'
print(express)
print(eval(express))
运行结果
1+2*(3/3-1)-2
-1.0
enumerate()
函数
enumerate()
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。enumerate
(一个序列、迭代器或其他支持迭代对象,start
-下标起始位置默认为0
)
seasons=['Spring','Summer','Fall','Winter']
print(list(enumerate(seasons)))
print(list(enumerate(seasons,start=1))) #下标从1开始
运行结果
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
普通的for
循环
i=0
seq=['one','two','three']
for e in seq:
print(i,seq[i])
i+=1
运行结果
0 one
1 two
2 three
for
循环使用enumerate
seq=['one','two','three']
for n in enumerate(seq):
print(n)
for m,element in enumerate(seq):
print(m,element)
运行结果
(0, 'one')
(1, 'two')
(2, 'three')
0 one
1 two
2 three
isinstance()
判断一个数据是不是相应的数据类型
print(isinstance(1,int))
print(isinstance('abc',int))
print(isinstance('abc',str))
print(isinstance([],list)) #空列表
print(isinstance({},dict)) #空字典
print(isinstance({'name':'alex'},dict)) #字典
print(isinstance({1,2,'a'},set)) #集合
print(isinstance((1,2),tuple)) #元组
运行结果
True
False
True
True
True
True
True
True
字符串相关的内置函数
具体请看字符串的魔法