gpt4 book ai didi

python - Print 打印一些额外的标志

转载 作者:行者123 更新时间:2023-12-01 05:44:52 25 4
gpt4 key购买 nike

我创建了一个方法来打印一些东西:

def my_print(*str1):
print '---------------'
print str1
print '---------------'


my_print('1fdsfd %s -- %s' % (12, 18))

这给了我

---------------
('1fdsfd 12 -- 18',)
---------------

为什么我有这些额外的 () 甚至 , 以及如何摆脱它们?

最佳答案

原因是由于*my_print函数中将str1转换为元组,您可以删除 * 或使用 print str1[0]

当在函数定义中使用 * 时,它表现为收集器,并收集传递给元组中函数的所有位置参数。

>>> def func(*a):
... print type(a)
... print a
...
>>> func(1)
<type 'tuple'>
(1,)
>>> func(1,2,3)
<type 'tuple'>
(1, 2, 3)

代码的工作版本:

def my_print(str1):
print '---------------'
print str1
print '---------------'


my_print('1fdsfd %s -- %s' % (12, 18))

或:

def my_print(*str1):
print '---------------'
print str1[0]
print '---------------'


my_print('1fdsfd %s -- %s' % (12, 18))

关于python - Print 打印一些额外的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16396599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com