您的位置: 网站首页> python基础> 当前文章

eval函数NameError: name is not defined,传入字符串报错

老董-我爱我家房产SEO2020-03-14180围观,148赞

  eval函数直接传入一个字符串报错,代码如下:

# -*- coding: utf-8 -*-
a = 'pythn66'
print(eval(a))

Traceback (most recent call last):
  File "D:/pyscript/py3script/test.py", line 3, in 
    print(eval(a))
  File "", line 1, in 
NameError: name 'pythn66' is not defined



  为什么呢?因为你虽然传入的是字符串,但是这个字符串是python66,而python66在python中不是一个值(也不是表达式),没办法执行,所以报错!解决办法有2种,

  1 你定义一个变量python66且赋值,

  2 直接给python66包裹两层字符串,这样实际上传入的是带有引号的'python66',在python中这就是一个实实在在的字符串值了。

  代码如下,自己体会吧!

# -*- coding: utf-8 -*-

python66 = 'python66'
print(eval(python66))

a = '"python66" '
print(eval(a))

python66
python66

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    eval函数NameError: name is not defined,传入字符串报错文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200