首页 > 后端开发 > Python教程 > Python 2 的 raw_input() 和 input() 之间有什么区别以及它们在 Python 3 中如何统一?

Python 2 的 raw_input() 和 input() 之间有什么区别以及它们在 Python 3 中如何统一?

Barbara Streisand
发布: 2024-12-16 00:23:11
原创
457 人浏览过

What's the Difference Between Python 2's `raw_input()` and `input()` and How Are They Unified in Python 3?

Python 3 中统一 raw_input() 和 input()

问题: raw_input( 和 raw_input() 有什么区别Python 中的 ) 和 input() 3?

Python 答案:

# In Python 2.x:
>>> type(raw_input('What is your name? '))
<type 'str'>

# In Python 3.x:
>>> type(input('What is your name? '))
<type 'str'>
登录后复制

在 Python 3.x 之前,raw_input() 和 input() 具有不同的用途。 raw_input() 以字符串形式接收原始用户输入,而 input() 以 Python 代码形式评估输入。

Python 2.x 中的说明:

# Python 2.x
# Get user input as a string using raw_input()
name = raw_input('Enter your name: ')

# Evaluate user input as Python code using input()
age = input('Enter your age: ')  # Returns an int
登录后复制

然而,在 Python 3.x 中,这种区别已被消除。原来的raw_input()被重命名为input()。之前的 input() 已被删除,尽管可以使用 eval(input()) 来复制它。

注意: 虽然 eval(input()) 可能会模拟之前的行为input(),在将用户输入评估为代码时务必小心谨慎。 Eval() 具有固有的安全风险,应谨慎使用。应尽可能优先考虑用于解析用户输入的更安全的替代方案。

以上是Python 2 的 raw_input() 和 input() 之间有什么区别以及它们在 Python 3 中如何统一?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板