divmod(a, b)
它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。
对于整数,结果和 (a // b, a % b) 一致,分别对应取整数和取余数
对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。
如:将153拆解
a,b=divmod(153,100) #取出来是1,53
c,d=divmod(b,10) #取出来是5,3
print(a,c,d)
>>1 5 3
eval(expression)
expression实参是一个字符串,其他参数可不填,expression 参数会作为一个 Python 表达式(从技术上说是一个条件列表)被解析并求值,返回值就是表达式的求值结果
x=3
print(eval('x+4'))
>>7
exec(object)
这个函数支持动态执行 Python 代码。object 必须是字符串或者代码对象。如果是字符串,那么该字符串将被解析为一系列 Python 语句并执行(除非发生语法错误)。如果是代码对象,它将被直接执行
该函数返回值是 None
c='123'
exec("print(c)")
>>123
pow(base,exp,[mod])
两参数形式 pow(base, exp) 等价于乘方运算符: base** exp。参数必须具有数值类型
如果exp为负值;在这种情况下,所有参数将被转换为浮点数并输出浮点数结果。 例如,102 返回 100,但 10-2 返回 0.01。
mod参数可填可不填,填上就需要对这个mod取余
print(pow(2,3))
print(pow(2,-3)) #相当于1/(2*2*2)
print(pow(4,-2)) #相当于1/(4*4)
>>8
>>0.125
>>0.0625
print(pow(4,3,11)) #相当于=(4*4*4)%11=64%11=9
>>9
reversed(seq)
返回一个反向的 iterator,需要使用list或者str转换一下,但是转换时需要注意,反转后只能使用list转换成常规list
1,对str进行反转后,可使用list转换成常规list
a='adbc'
print(reversed(a))
print(str(reversed(b)))
print(list(reversed(a)))
>>
<reversed object at 0x03A7C4D0>
<reversed object at 0x03A7C4D0>
['c', 'b', 'd', 'a']
2,对list进行反转后,可使用list转换成常规list
b=[3,5,2,4]
print(reversed(b))
print(str(reversed(b)))
print(list(reversed(b)))
>>
><list_reverseiterator object at 0x031812D0>
<list_reverseiterator object at 0x031812D0>
[4, 2, 5, 3]
round(number,[ndigits ])
ndigits为空值时,number四舍五入成一个整数,
ndigits有值时,返回 number 舍入到小数点后 ndigits 位精度的值
print(round(23.67)) #24
print(round(23.36)) #23
print(round(35.236,2)) #35.24
print(round(35.254,2)) #35.25