听了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()函数,这样在我们使用数字的时候就需要自己来进行转换了,所以我们在让用户输入数字的时候一定切忌要进行转换,如果我们要使用数字的化。

Python2中input()、raw_input()和Python3中input()的更多相关文章

  1. 常见的爬虫分析库(1)-Python3中Urllib库基本使用

    原文来自:https://www.cnblogs.com/0bug/p/8893677.html 什么是Urllib? Python内置的HTTP请求库 urllib.request          ...

  2. Python3中Urllib库基本使用

    什么是Urllib? Python内置的HTTP请求库 urllib.request          请求模块 urllib.error              异常处理模块 urllib.par ...

  3. python2和python3 中 input()方法的不同之处

    python2在input()获取输入值时,所获取的值等于本身的数据类型 a = input("请输入:") print(a,type(a)) #如果输入的时int行数字,a 获取 ...

  4. Python中的raw_input()和input()

    raw_input()和input()都是python中的内建函数,用于读取控制台用户的输入,但有所区别: [nr@localhost conf]$ python Python 2.7.5 (defa ...

  5. 详解:Python2中的urllib、urllib2与Python3中的urllib以及第三方模块requests

    在python2中,urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: 1.urllib2可以接受一个Request类的实例来设置URL请求的hea ...

  6. Python2和Python3中print的不同点

    在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而pyth ...

  7. 【学习笔记】python2和python3的input()

    python2中的input()只接受变量作为传入值,非变量内容会报错. >>> user=input("Enter your name:") Enter you ...

  8. python2与python3的input函数的区别

    Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型. Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获 ...

  9. python2 && python3 的 input函数

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

随机推荐

  1. ss命令用法小记

    By francis_hao    Nov 4,2017   ss是一个查看socket的实用工具 概要 ss [options] [ FILTER ]   描述 ss可以查看socket的统计信息, ...

  2. Qt ------ CSS 长度单位

    1.         css相对长度单位 Ø         em          元素的字体高度 Ø         ex           字体x的高度 Ø         px        ...

  3. libcurl移植到android

    一.总体概览 C库:libcurl 3.7 目标平台:android 编译平台:ubuntu 12 编译工具:ndk r7 or later 二.已知方法 1. 官网上给了两种方法,第一种方法是使用a ...

  4. JS-DOM-随时更新

    DOM里有三种节点:元素节点.文本节点和属性节点 getElmentById(); //id选择器  在JS中用此方法来查找获取  建议大小写 以免不兼容 有时候查找不到  DOM操作必须等到HTML ...

  5. selenium利用Excel进行参数化(简单示例)

    上篇搭建好环境后,正真开始我的自动化之旅了.... 开始之前特别说明一下testNG的版本,不能直接使用Eclipse直接线上下载的版本,线上版本太高,不能兼容,运行程序会报以下错误,需要自行下载低一 ...

  6. 我的Git之旅(1)---git安装、github注册以及一些基本命令

    蚂蚁作为一个混码农届的新人来说,看到什么东西都觉得高大上的感觉.最近接触到了git,有种蠢蠢欲动的感觉,想 试一把.因此开启了我的Git之旅.废话不多说,开始我的git之旅. 1.git服务器的选择 ...

  7. HDU 1299 基础数论 分解

    给一个数n问有多少种x,y的组合使$\frac{1}{x}+\frac{1}{y}=\frac{1}{n},x<=y$满足,设y = k + n,代入得到$x = \frac{n^2}{k} + ...

  8. Python学习笔记(八)sorted

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431823058 ...

  9. 重构改善既有代码设计--重构手法14:Hide Delegate (隐藏委托关系)

    客户通过一个委托类来调用另一个对象.在服务类上建立客户所需的所有函数,用以隐藏委托关系. 动机:封装即使不是对象的最关机特性,也是最关机特性之一.“封装”意味着每个对象都应该少了解系统的其他部分.如此 ...

  10. Java实现JsApi方式的微信支付

    要使用JsApi进行微信支付,首先要从微信获得一个prepay_id,然后通过调用微信的jsapi完成支付,JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支 ...