热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python中input()函数详解及版本差异

自Python3.0版本以来,输入函数与2.7版本存在显著差异。Python3.0中的input()函数等同于2.7版本中的raw_input(),主要用于接收用户的字符串输入。而2.7版本的input()则用于直接读取并评估用户输入的内容,通常用于数字输入。

Python 3.0 之后的版本与 2.7 版本在输入处理上有所变化。在 Python 3.0 中,input() 函数实际上继承了 Python 2.7 中 raw_input() 的功能,即接收用户输入的字符串。例如,在 Python 3.0 中使用 input() 获取的 x 和 y 实际上会被视为 '21' 和 '22'。而在 Python 2.7 中,input() 函数用于读取并评估用户输入的数据,如果输入非数字(如 'abc'),则会导致错误。


下面的示例代码可以帮助更好地理解这两个函数在不同版本中的行为:



# Python 2.x 示例
>>> a = input()
12
>>> a
12
>>> b = raw_input()
12
>>> b
'12'

# Python 3.x 示例
>>> b = input()
12
>>> b
'12'

input() 函数用于接收用户输入的数据。如果输入的是字符串或字符,并且这些变量在之前的程序中已经被定义过,则不会出错;如果输入的是整数,同样不会出错。然而,如果尝试在 Python 2.7 中通过 input() 输入一个未定义的变量名或非数字字符串,将会引发错误。


相比之下,raw_input() 函数总是将用户输入作为字符串存储,因此无论输入什么类型的数据,都不会出错。这使得 raw_input() 在处理不确定类型的用户输入时更加安全和灵活。在 Python 3.0 之后,由于 input() 已经具备了 raw_input() 的所有特性,因此推荐在新版本中使用 input() 来替代 raw_input()。


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细介绍如何在Vue项目中通过Element UI组件库实现对输入框占位符(placeholder)值的获取,以及数据绑定和查询的基本方法。文章将涵盖v-model双向绑定、el-form表单配置等核心内容。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 深度学习理论解析与理解
    梯度方向指示函数值增加的方向,由各轴方向的偏导数综合而成,其模长表示函数值变化的速率。本文详细探讨了导数、偏导数、梯度等概念,并结合Softmax函数、卷积神经网络(CNN)中的卷积计算、权值共享及池化操作进行了深入分析。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
author-avatar
Ly丶爱着那一个人_686
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有