Python 2.x 中的 raw_input() 和 input()

Python 2.x 和 Python 3.x 还是有一点小差别的。比如 input 在 Python 2.x 中有两个函数 raw_input()input()。在 Python 3.x 中,只有一个函数来获取用户输入,这被称为 input(),这相当于 Python 2.7 的 raw_input()

例 1:input()

name = input('Please enter your number: ')
print name

命令行 1.1

Please enter your number: 'qq'
qq

命令行 1.2

Please enter your number: "qq"
qq

命令行 1.3

Please enter your number: qq
Traceback (most recent call last):
    File "onr.py", line 1, in < module> #onr.py是我的文件名
    name = input('Please enter your number: ')
  File "< string>", line 1, in < module >
NameError: name 'qq' is not defined

命令行 1.4

Please enter your number: 11
11

命令行 1.5

Please enter your number: '1+1'
1+1

命令行 1.6

Please enter your number: 1+1
2

例 2:raw_input()

name = raw_input('Please enter your number: ')
print name

命令行 2.1

Please enter your number: qq
qq

命令行2.2

Please enter your number: '1+1'
'1+1'

命令行2.3

Please enter your number: 1+1
1+1

Python 2.x

  • raw_print() 可以直接读取控制台的任何类型输入,并且只会读入您输入的任何内容,返回字符串类型。即可用把控制台所有输入作为字符串看待,并返回字符串类型。
  • input() 能够读取一个合法的 python 表达式,返回数值类型,如int,float。即如果你在控制台输入的字符串必须用单引号或双引号将它括起来,否则会引发 SyntaxError 。

Python 2.7 input 说明文档

这里写图片描述

Python 3.x

Python 2.x 中的 raw_input() 被重命名为 Python 3.x 中的 input(),所以 Python 3.x 中的 input() 返回类型为字符串类型。同时 Python 2.x 中的 input() 在 Python 3.x 中不再保留。

Python input 说明文档 可以看到 input() 其实是通过 raw_input() 来实现的,原理很简单,就下面一行代码:

def input(prompt):
    return (eval(raw_input(prompt)))

如果要使用 Python 2.x 中的 input(),即需要将用户输入看作 Python 语句,则必须手动操作 eval(input())

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值