zoukankan      html  css  js  c++  java
  • python input() 与 raw_input()

    使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的

    当输入为纯数字时:

    input返回的是数值类型,如int,float
    raw_inpout返回的是字符串类型,string类型

    输入字符串为表达式

    input会计算在字符串中的数字表达式,而raw_input不会

    input其实是通过raw_input来实现的

    def input(prompt):
        return (eval(raw_input(prompt)))

    另外raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 

    raw_inputA=raw_input("pls input sth:")

    raw_inputA=raw_input("pls input sth:")

    pls input sth:abc

    inputA=input("pls input sth:")

    返回NameError: name 'aaa' is not defined 

    python2.x版本中有两个输入函数input()和raw_input(),而在python3.x版本中只有一个输入函数input(),它的功能就相当于python2.x中的raw_input()函数

    除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互

    print "pls input figure: "
    num=input()
    
    pls input figure: 
    01223454
    
    pls input figure: 
    0987
      File "<string>", line 1
        0987
           ^
    SyntaxError: invalid token

    出现错误原因是因为input()中的eval(),而且eval()有安全漏洞。input()会把你输入的东西当做 Python 代码进行处理。

     

  • 相关阅读:
    git相关
    String,static,final
    tomcat和servlet的基本了解
    xml的相关知识
    js基础
    HTML
    Java之JDBC连接池
    Java之JDBC
    Java的内存模型
    Java的内存结构
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6145588.html
Copyright © 2011-2022 走看看