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

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

本文详细解析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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。