目录
创建
t = tuple([1])
输出: (1,)
或者
t = (1,2,3)
注意
注意(1,)的数据结构是tuple,但(1)却是int类型
(1)和1是相等的
坑
(1,)的数据结构才是tuple,而(1)不是,这一点非常重要。
因为有的api的参数要求是tuple,当只有一个参数时,写成(1),就不对。最典型的就是python进程池的用法。
from multiprocessing import Pool
def my_func(a):
pass
pool = Pool(processes=10)
# pool.apply_async(my_function, (1)) 这种不行,不加逗号是int类型
pool.apply_async(my_function, (1,)) # 加个逗号,说明此参数是tuple
只有一个参数时要留有一个逗号,还以为是python进程池Pool的坑,冤枉Pool了,原来小丑竟然是自己。
ok,点赞吧