如果没有提供输入,那么接受输入的变量中存储了什么?

时间:2014-04-01 23:03:26

标签: python

当没有提供输入时,接受输入的变量中存储了什么?我以为它会None,所以我为它写了一个测试:

foo = input('plz enter smthing')
if foo is None:
    print('plz enter again')

但是,没有打印任何内容。这是为什么?

3 个答案:

答案 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()。