Python中raw_input()与input()函数的区别与用法详解

栗子
栗子
发布时间:2026-10-13 | 2人浏览过
原创

本文详细解析Python中raw_input()与input()函数的差异。raw_input()始终返回字符串,需手动转换类型;input()尝试计算输入值,直接返回对应类型(如整数)。文章通过代码示例展示了如何转换为int、list或str,并指出input()处理非数值字符串时的报错机制及向下取整特性。

近期在开发中涉及使用raw_input()和input()函数进行即时数据录入,为此查阅了相关文档并结合实际应用场景整理出以下使用说明。

1、raw_input()函数解析

raw_input([prompt]) -> string

根据系统定义,该函数用于读取标准输入流中的字符串。无论用户输入的是数字、字符还是其他内容,系统均将其视为字符串格式处理。

具体示例如下:

print "Please input a num:"
k = raw_input()
print k
print type(k)

程序运行后的输出表现:

Please input a num:
23
23
<type 'str'>

当输入数字23时,输出结果为23,但其数据类型为str(字符串)。

因此,在不同业务场景下,往往需要对输入内容进行类型转换。

1)转换为int整型

print "Please input a num:"
n = int(raw_input())
print n
print type(n)

运行结果如下:

Please input a num:
23
23
<type 'int'>

输入23,输出23,此时数据类型为int(整数)。

2)转换为list列表型

print "please input list s:"
s = list(raw_input())
print s
print type(s)

运行结果如下:

please input list s:
23
['2', '3']
<type 'list'>

输入23,输出为['2', '3'],数据类型为list(列表)。

关于如何直接生成数值型列表的方法,目前尚未找到直接方案,此处作为思考题供读者探讨。

2、input()函数解析

input([prompt]) -> value
Equivalent to eval(raw_input(prompt))

可以看出,input()函数的输出结果是“值”,这相当于对raw_input()的返回值执行了eval()计算后的结果。

示例代码如下:

print "please input something :"
m = input()
print m
print type(m)

运行结果1的情况:

please input something :
23
23
<type 'int'>

输入23,输出23,此时数据类型为int(整数)。

运行结果2的情况:

please input something :
abc
Traceback (most recent call last):
 File "D:/python test/ceshi1.py", line 24, in <module>
 m = str(input())
 File "<string>", line 1, in <module>
NameError: name 'abc' is not defined

输入abc时,程序报错(因为字符型输入无法通过eval计算)。

不过,我们仍然可以对input()的返回结果进行二次转换:

1)转换为str字符串

print "please input something :"
m = str(input())
print m
print type(m)

运行结果如下:

please input something :
23
23
<type 'str'>

当输入为数值型23时,输出23,数据类型转换为str(字符串)。

2)转换为int整型

print "please input something :"
m = int(input())
print m
print ty

运行结果如下:

please input something :
23.5
23
<type 'int'>

输入23.5,输出23,数据类型为int(整数),此处表现为默认向下取整。

注意:input()函数不支持直接转换为list列表。

以上关于Python中raw_input()和input()用法的详解内容分享到此结束,希望能为读者提供参考,也欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表