我正在尝试清除Python中的代码行,并在Any way to clear python's IDLE window?发布了关于如何执行此操作的帖子,但是当我在IDLE 3.3中运行下面的函数时,我得到以下错误。但它确实适用于2.7.3版本。
错误
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
cls()
File "<pyshell#6>", line 2, in cls
print('\n') * 100
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
CODE
def cls():
print('\n') * 100
答案 0 :(得分:5)
你可能意味着
print('\n' * 100)
将字符串乘以int时,会重复:
>>> 'ha' * 3
'hahaha'
但您所做的是将print('\n')
的值乘以100
。但print()
不返回任何内容(读取:返回None
),因此错误:您无法将None
和int
相乘。
在Python 2中没有区别,因为没有括号:
print '\n' * 100
但是,Python的解释方式与Python 3相同(并不像你想象的那样)。