当没有提供输入时,接受输入的变量中存储了什么?我以为它会None
,所以我为它写了一个测试:
foo = input('plz enter smthing')
if foo is None:
print('plz enter again')
但是,没有打印任何内容。这是为什么?
答案 0 :(得分:3)
不是None
,而是''
。一个空字符串。不过,您仍然可以使用if not foo
。
答案 1 :(得分:0)
输入函数将字符串Type作为输入。例如:
>>> foo = input('plz enter smthing')
plz enter smthing
>>> type(foo)
<class 'str'>
>>> foo
''
你可以看到,当你没有提供任何输入时,它仍会显示Type str,现在,foo的值为''
。
答案 2 :(得分:0)
旧的输入函数评估字符串。
这是一个很大的问题(用你最喜欢的命令代替......):
"__import__('os').system('...')"
所以我认为更好的答案是:不要在python 2.x中使用“input”
raw_input()返回一个字符串。如果你想要一个int,例如:
int(raw_input())
这在python 3中得到修复:raw_input()被重命名为input()。