python学习笔记 | Python 2.x 中 raw_in

作者: CoXie的大数据世界 | 来源:发表于2018-05-19 15:49 被阅读22次

    Python 2.x 和 Python 3.x 还是有一点小差别的。比如 input 在 Python 2.x 中有两个函数 raw_input() 和 input()。在 Python 3.x 中,只有一个函数来获取用户输入,这被称为 input(),这相当于 Python 2.7 的 raw_input()。

    例 1:input()

    name = input('Please enter your number: ')

    print name

    命令行 1.1

    Please enter yournumber:'qq'

    qq

    命令行 1.2

    Please enter yournumber:"qq"

    qq

    命令行 1.3

    Please enter your number: qq

    Traceback (most recent call last): 

             File "onr.py", line 1, in < module>#onr.py是我的文件名

            name = input('Please enter your number: ')

        File "< string>", line 1, in < module>

    NameError: name 'qq' is not defined

    命令行 1.4

    Please enter yournumber:11

    11

    命令行 1.5

    Please enter yournumber:'1+1'

    1+1

    命令行 1.6

    Please enter yournumber:1+1

    2

    例 2:raw_input()

    name = raw_input('Please enter your number: ')

    print name

    命令行 2.1

    Please enter your number: qq

    qq

    命令行2.2

    Please enter your number: '1+1'

    '1+1'

    命令行2.3

    Please enter your number: 1+1

    1+1


    很多人在学习python的过程中很迷茫不知道学习方法,推荐我的qun,氛围非常好,记得备注,就知道是你了

    Python 2.x

    raw_print() 可以直接读取控制台的任何类型输入,并且只会读入您输入的任何内容,返回字符串类型。即可用把控制台所有输入作为字符串看待,并返回字符串类型。

    input() 能够读取一个合法的 python 表达式,返回数值类型,如int,float。即如果你在控制台输入的字符串必须用单引号或双引号将它括起来,否则会引发 SyntaxError 。

    Python 2.7 input 说明文档

    Python 3.x

    Python 2.x 中的 raw_input() 被重命名为 Python 3.x 中的 input(),所以 Python 3.x 中的 input() 返回类型为字符串类型。同时 Python 2.x 中的 input() 在 Python 3.x 中不再保留。

    从 Python input 说明文档 可以看到 input() 其实是通过 raw_input() 来实现的,原理很简单,就下面一行代码:

    definput(prompt): 

            return (eval(raw_input(prompt)))

    如果要使用 Python 2.x 中的 input(),即需要将用户输入看作 Python 语句,则必须手动操作 eval(input())。

    相关文章

      网友评论

        本文标题:python学习笔记 | Python 2.x 中 raw_in

        本文链接:https://www.haomeiwen.com/subject/cgtadftx.html