听了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. web系统中上下移动功能的实现

    其实上移下移的思想分几步: 核心思想:交换两个记录的位置字段的值. 问题:如何根据当前记录,找到前一个或者后一个的记录的位置. 第一:在java类属性定义一个position位置字段,不同的位置pos ...

  2. bzoj 1879 状压dp

    879: [Sdoi2009]Bill的挑战 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 852  Solved: 435[Submit][Status ...

  3. 类的起源与metaclass

    一.概述 我们知道类可以实例化出对象,那么类本身又是怎么产生的呢?我们就来追溯一下类的起源. 二.类的起源 2.1 创建一个类 class Foo(object): def __init__(self ...

  4. Maven手动添加依赖的jar文件到本地Maven仓库

    原文出处:https://www.iteblog.com/archives/646.html 寫得很好,轉走僅供學習,望諒解! Apache Maven,是一个软件(特别是Java软件)项目管理及自动 ...

  5. CF835 C 前缀和

    100*100规模上第一象限坐标系上有1e5规模的点,每个点随时间在同一个值域内(最大10)周期递增,但初始值不同,给出一个矩阵和时间询问此时范围内点的值的和. 预处理初始时刻不同权值下的二维前缀和, ...

  6. HDU6129 规律

    LINK 题意:n个数进行m次前缀和异或和后的情况,其中$n,m(1\leq n\leq2\times10^5,1\leq m\leq10^9)$. 思路:看到m这么大,肯定要分解m的,又是异或和,二 ...

  7. Python学习笔记(三十四)—内置模块(3)base64

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

  8. 百度搜索URL中的参数都是什么

    最近,点石排名更新了一个新功能——站内搜索.其实理解起来也很简单,就是通过URL限定搜索结果为某个网站,从而参与点击(例如:https://www.baidu.com/s?wd=SEO&si= ...

  9. 【leetcode 简单】 第五十一题 有效电话号码

    给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码. 你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxx ...

  10. Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure y

    这个应该是很多github新手经常出错的问题,这个就是没有在你github上添加一个公钥. 下面就直接说步骤: 1 可以用 ssh -T git@github.com去测试一下 图上可以明显看出缺少了 ...