• python2 和 pyhton3 输入语句写法


    Python的输入语句类型

    1 python2的输入语句

    在python2中有两种常见的输入语句,input()和raw_input()。

    (1)input()函数

    可以接收不同类型的参数,而且返回的是输入的类型。如,当你输入int类型数值,那么返回就是int型;其中字符型需要用单引号或双引号,否则,报错。

    a.数值型输入

    >>> a = input()
    10
    >>> type(a)
    <type 'int'>
    >>> a
    10
    >>> a = input()
    1.23
    >>> type(a)
    <type 'float'>
    >>> a
    1.23

    b.字符类型

    如果输入的字符不加引号,就会报错

    >>> r = input()
    hello
    
    Traceback (most recent call last):
      File "<pyshell#50>", line 1, in <module>
        r = input()
      File "<string>", line 1, in <module>
    NameError: name 'hello' is not defined

    正确的字符输入

    >>> r = input()
    'hello'
    >>> r
    'hello'
    >>> r = input()
    "hello"
    >>> r
    'hello'

    当然,可以对输入的字符加以说明

    >>> name = input('please input name:')
    please input name:'Tom'
    >>> print 'Your name : ',name
    Your name :  Tom

    (2)raw_input()

    函数raw_input()是把输入的数据全部看做字符类型。输入字符类型时,不需要加引号,否则,加的引号也会被看做字符。

    >>> a = raw_input()
    1
    >>> type(a)
    <type 'str'>
    >>> a
    '1'
    >>> a = raw_input()
    'hello'
    >>> type(a)
    <type 'str'>
    >>> a
    "'hello'"

    如果想要int类型数值时,可以通过调用相关函数转化。

    >>> a = int(raw_input())
    1
    >>> type(a)
    <type 'int'>
    >>> a
    1
    >>> a = float(raw_input())
    1.23
    >>> type(a)
    <type 'float'>
    >>> a
    1.23

    在同一行中输入多个数值,可以有多种方式,这里给出调用map() 函数的转换方法。map使用方法请参考python-map的用法

    >>> a, b = map(int, raw_input().split())
    10 20
    >>> a
    10
    >>> b
    20
    >>> l = list(map(int, raw_input().split()))
    1 2 3 4
    >>> l
    [1, 2, 3, 4]

    (3)input() 和raw_input()的区别

    通过查看input()帮助文档,知道input函数也是通过调用raw_input函数实现的,区别在于,input函数额外调用内联函数eval()。eval使用方法参考Python eval 函数妙用

    >>> help(input)
    Help on built-in function input in module __builtin__:
    
    input(...)
        input([prompt]) -> value
        
        Equivalent to eval(raw_input(prompt)).
    
    >>> help(eval)
    Help on built-in function eval in module __builtin__:
    
    eval(...)
        eval(source[, globals[, locals]]) -> value
        
        Evaluate the source in the context of globals and locals.
        The source may be a string representing a Python expression
        or a code object as returned by compile().
        The globals must be a dictionary and locals can be any mapping,
        defaulting to the current globals and locals.
        If only globals is given, locals defaults to it.

    2 Python3输入语句

    python3中的输入语句只有input()函数,没有raw_input();而且python3中的input()函数与python2中的raw_input()的使用方法一样。

    >>> a = input()
    10
    >>> type(a)
    <class 'str'>
    >>> a
    '10'
  • 相关阅读:
    [转帖]译文:如何使用SocketAsyncEventArgs类(How to use the SocketAsyncEventArgs class)
    如何建立一个“绑定友好的”usercontrol--wpf
    安卓学习(三)
    安卓学习(二)
    Android学习1
    用伪代码梳理springboot
    用伪代码梳理javaweb从零开始
    用伪代码梳理spring源码
    java如何写出简洁代码
    JAVA修复微信官方SDK支付XXE漏洞
  • 原文地址:https://www.cnblogs.com/pursued-deer/p/9613243.html
Copyright © 2020-2023  润新知