raw_input 与 input的区别

本文详细对比了Python中raw_input()与input()两个函数的功能及使用区别。raw_input()用于读取控制台输入,并一律视为字符串处理;而input()则期望读取合法的Python表达式,按实际类型返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两个函数均是python的内建函数,都可以读取控制台的输入,但是他们还是有很大的不同的。

例1:

>>> raw_input= raw_input("raw_input: ")
 2 raw_input: I am raw_input
 3  >>> input = input("Input: ")
 4 Input: I am input
 5 
 6 Traceback (most recent call last):
 7   File "<pyshell#1>", line 1, in <module>
 8     input_A = input("Input: ")
 9   File "<string>", line 1, in <module>
10 NameError: name 'abc' is not defined
11  >>> input = input("Input: ")
12 Input: "I am input"
13  >>>

从中我们可以看出 raw_input 和 input的区别:
raw_input():直接读取控制台的输入,任何类型都可以接收,它将所有的输入都看做字符串类型。
input():希望输入一个合法的python表达式,即当你输入abc时,python判断你是想输入字符串,但是字符串必须用”或者”“括起来,所以在上述第一次输入的时候你未使用引号,报错;第二次输入使用了引号,正确。

例2:

 >>> raw_input = raw_input("raw_input: ")
2 raw_input: 789
3  >>> type(raw_input)
4  <type 'str'>
5 >>> input = input("input: ")
6 input: 123
7 >>> type(input)
8 <type 'int'>
9 >>> 

从上述可以看出二者的另外的区别:
raw_input():将所有的输入都看做字符串处理,输出字符串类型。
input():输入什么类型,就输出什么类型。例如 test = input( 1 + 3 ) ,test 为 int 型的 4 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值