weixin_68130084 2022-04-07 15:23 采纳率: 100%
浏览 179
已结题

各位大捞,我觉得我还是没理解python的eval函数,为什么我用input输入汉字和字母时,前面放了eval就会报错。。

各位大捞,我觉得我还是没理解python的eval函数,为什么我用input输入汉字和字母时,前面放了eval就会报错。。

  • 写回答

3条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-04-07 15:44
    关注

    eval(expression [ , globals [ , locals ]] )
    实参是一个字符串,以及可选的 globals 和 locals。globals 实参必须是一个字典。locals 可以是任何映
    射对象。表达式解析参数 expression 并作为 Python 表达式进行求值。

    >>> eval("1+2")
    3
    >>> eval("[1,2,3]")
    [1, 2, 3]
    >>> eval("['1',2,3]")
    ['1', 2, 3]
    >>> eval("abc")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<string>", line 1, in <module>
    NameError: name 'abc' is not defined
    >>> abc=100
    >>> eval("abc")
    100
    >>> eval("001")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<string>", line 1
        001
          ^
    SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
    >>>
    >>> a={"姓名":"张三"}
    >>>
    >>> eval("a")
    {'姓名': '张三'}
    >>> eval("a['姓名']")
    '张三'
    
    

    eval会执行参数字符串的值,你输入字母它就会按照变量解析,找不到就报错。即使是数字用0开始也会报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)