绝对值 abs(x)
abs(3) # 3
abs(3.23) # 3.23
abs(-2) # 2
abs(-3.4567) # 3.4567
abs(3+5j) # 复数的求模运算
all(iterable)
Python中的string,list,tuple,dict,file,xrange都是可迭代的,都属于iterable对象,可迭代的对象都是可以遍历的
可迭代对象中所有元素为True或者没有元素时返回True,否则返回False
>>> all("a")
True
>>> all(3) # 整数是不可迭代对象,所以报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> all([1,2,3])
True
>>> all([])
True
>>> all([1,1>2])
False # 可迭代对象中的元素有false的时候,结果会为false
>>> all((2,3,4,5))
True
>>> all({1,2,3})
True
>>> all({"a":1,"b":2})
any(iterable)
可迭代对象中至少有1个元素为True时,返回True,否则返回False(包括对象中没有元素)
>>> any(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> any([1,2,3])
True
>>> any("a")
True
>>> any((1,2,3))
True
>>> any([1,1>2])
True
>>> any([])
False
>>>
ascii(object)
返回一个可打印的对象字符串方式表示,如果是非ascii字符就会输出\x,\u或\U等字符来表示
>>> ascii("a")
"'a'"
>>> ascii(1)
'1'
>>> ascii([1,2])
'[1, 2]'
>>> ascii("你好")
"'\\u4f60\\u597d'"
bin(x)
返回一个整数 int 的二进制表示
>>> bin(4)
'0b100'
>>> bin(-4)
'-0b100'
class bool([x])
bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool 是 int 的子类。
整数0,浮点数0.0,空列表,空元组,空字典,空字符串,均为False
正数,负数,非空列表,非空元组,非空字典,非空字符串均为True
>>>bool()
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> issubclass(bool, int) # bool 是 int 子类
True
breakpoint(*args, **kws)
Python 3.7添加了breakpoint(),这个内置函数使得函数被调用时,让执行切换到调试器。相应的调试器不一定是Python自己的pdb,可以是之前被设为首选调试器的任何调试器。以前,调试器不得不手动设置,然后调用,因而使代码更冗长。而有了breakpoint(),只需一个命令即可调用调试器,并且让设置调试器和调用调试器泾渭分明。
# 之前:
foo()
import pdb; pdb.set_trace()
bar()
# 现在:
foo()
breakpoint()
bar()
# *args,**kws的区别
>>> def f(arg,*args,**kwargs): # **kwargs可以简写为kws
... print(arg,args,kwargs)
...
>>> f(1,2,3,4,5,a=1,b=2,c=3)
1 (2, 3, 4, 5) {'a': 1, 'b': 2, 'c': 3}
*args 用来将参数打包成tuple给函数体调用,**kwargs 打包关键字参数成dict给函数体调用
参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错