pku*_*mar 344 python python-3.x
是什么区别raw_input(),并input()在python3.x?
Sve*_*ach 402
不同之处在于raw_input()Python 3.x中不存在input().实际上,旧的raw_input()已经改名为input(),旧input()的已经消失,但可以通过使用轻松模拟eval(input()).(请记住,这eval()是邪恶的.尽可能使用更安全的方式解析您的输入.)
Tho*_*s K 186
在Python 2中,raw_input()返回一个字符串,并input()尝试将输入作为Python表达式运行.
因为获取字符串几乎总是你想要的,所以Python 3就是这样做的input().正如斯文所说,如果你想要旧的行为,那就eval(input())有效.
scr*_*low 109
raw_input() 获取用户输入的内容并将其作为字符串传回.
input()首先采取raw_input(),然后执行eval()它.
主要区别在于input()期望语法正确的python语句raw_input()不需要.
raw_input()被重命名为input()现在input()返回确切的字符串.input()被删除了.如果你想使用旧的input(),意味着你需要将用户输入作为python语句进行评估,你必须使用它来手动完成eval(input()).
Har*_*han 26
在Python 3 raw_input()中,Sven已经提到过不存在.
在Python 2中,该input()函数评估您的输入.
例:
name = input("what is your name ?")
what is your name ?harsha
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
name = input("what is your name ?")
File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,Python 2.x试图将harsha评估为变量而不是字符串.为避免这种情况,我们可以在输入中使用双引号,例如"harsha":
>>> name = input("what is your name?")
what is your name?"harsha"
>>> print(name)
harsha
Run Code Online (Sandbox Code Playgroud)
的raw_input()
raw_input()`函数没有计算,它只会读取你输入的内容.
例:
name = raw_input("what is your name ?")
what is your name ?harsha
>>> name
'harsha'
Run Code Online (Sandbox Code Playgroud)
例:
name = eval(raw_input("what is your name?"))
what is your name?harsha
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
name = eval(raw_input("what is your name?"))
File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我只是试图用该eval函数评估用户输入.
我想为每个人为python 2用户提供的解释添加更多细节.raw_input(),到目前为止,您知道评估用户输入的数据字符串.这意味着python不会尝试再次理解输入的数据.所有它将考虑的是输入的数据将是字符串,无论它是否是实际的字符串或int或任何东西.
而input()在另一方面试图理解用户输入的数据.因此输入helloworld就会将错误显示为' helloworld is undefined'.
总之,对于python 2,要输入一个字符串,你需要输入它,就像' helloworld'这是python中使用字符串的常用结构.
小智 5
如果您想确保您的代码使用 python2 和 python3 运行,请input()在脚本开头添加函数:
from sys import version_info
if version_info.major == 3:
pass
elif version_info.major == 2:
try:
input = raw_input
except NameError:
pass
else:
print ("Unknown python version - input function not safe")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
303909 次 |
| 最近记录: |