听了ALEX的某节课,说input()和raw_input()函数在Python2中没有区别,现在来探讨一下Python2中的input()、raw_input()函数和Pyhont3中的input()函数:

Python2中的raw_input()函数,我们知道input()、raw_input()都是让用户输入的函数:

input()函数:

首先,我们先输入数字:

>>> a = input("Please input your favorite number: ")
Please input your favorite number: 5
>>> a
5

从中可以看出,当我们输入数字的时候,input()函数直接接受了5,并把这个用户输入的数字赋给了a,是以数字形式的。

接下来,我们以字符形式输入:
>>> a = input("Please input your name: ")
Please input your name: virgin
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'virgin' is not defined

从结果可以看出,提示我们输入的名字没有定义,报错了,说明不能以字符形式直接没有引号的情况下进行输入;

我们验证当我们以引号的方式输入字符串的时候,这个时候没有提示我们错误,由此可以看出,是没有问题的
>>> a = input("Please input your name: ")
Please input your name: "Virgin"
>>> a
'Virgin'

从中可以看出,其实Python2.x中,input()函数让我们明确我们输入的是数字格式还是字符格式,就是我们自己要知道我们想要的是什么,数字格式直接输入,字符格式必须加上单引号或者双引号,以确定我们输入的是字符串。

raw_input()函数:

>>> a = raw_input("Please input your name: ")
Please input your name: Virgin
>>> a
'Virgin'
>>> a = raw_input("Please input your favorite number: ")
Please input your favorite number: 10
>>> a
'10'
    第一次我们输入的是字符串,而且没有加引号,正常把Virgin赋给了变量a;第二次输入的是数字10,但是输出的时候,a是字符格式的'10',这个时候系统将我们输入的数字默认为了文本,所以可以看出,raw_input()函数无论用户输入什么,都默认为字符格式;而input()函数在Python2.x中,是要用户确定自己输入的是什么,用户要自己清楚明白自己操控的是什么。

Python3中的input()函数:

我们知道,在Python3中是没有raw_input()函数的,只有input()函数,因为Python3是就行了优化整合:

input()函数

>>> a = input("Please input your favoriete number: ")
Please input your favoriete number: 10
>>> a
'10'
>>> b = input("Please input your name: ")
Please input your name: Virgin
>>> b
'Virgin'
    第一次我们输入的是数字,此时,input()是将数字10当作文本赋给了变量a,第二次,我们把文本赋给了变量b,输出结果还是文本,这与Python2中的raw_input()是一样的,所以,在Python3中是将Python2中的input()删除了,把raw_input()的名称改成了input()函数,这样在我们使用数字的时候就需要自己来进行转换了,所以我们在让用户输入数字的时候一定切忌要进行转换,如果我们要使用数字的化。

最新文章

  1. VMWare 安装 Mac OS X10.10 Yosemite
  2. 禁止浏览器直接访问php文件
  3. Apache Spark技术实战之5 -- SparkR的安装及使用
  4. 【原创】Silverlight客户端发起WebRequest请求分析
  5. mysql awr v1.0.1发布
  6. Linux下OpenSSL的安装与使用
  7. vb和php 基于socket通信
  8. 多行文字垂直居中(完美兼容chrome firefox IE6 7 8 9)
  9. 使用JProfiler进行内存分析
  10. iOS网络编程笔记——社交网络编程
  11. jquery的img的动态title换行
  12. MySQL的Illegal mix of collationsy异常原因和解决方法
  13. 用WPS查看两篇word文档异同之处
  14. [Swift]LeetCode36. 有效的数独 | Valid Sudoku
  15. prufer序列学习笔记
  16. ansible中的playbook详解
  17. JavaSE——TCP协议网络编程(二)
  18. ST算法详解
  19. mycat应用场景
  20. Android中获取屏幕长宽的方法

热门文章

  1. Codeforces Round #415 (Div. 2) A B C 暴力 sort 规律
  2. Mac下安装SVN插件javaHL not available的解决方法
  3. table行拖拽
  4. 分块+deque维护 Codeforces Round #260 (Div. 1) D. Serega and Fun
  5. Atcoder #017 agc017 D.Game on Tree 树上NIM 博弈
  6. 2015/9/29 Python基础(20):类的授权
  7. CSS 定位相关属性 :position
  8. 为eclipse配置javap命令
  9. 用trigger触发datepicker
  10. 不修改代码优化 ASP.NET 网站性能的一些方法