如何创建生成其他代码的代码

时间:2019-04-29 09:20:22

标签: python

自从几个月前开始学习python以来,我一直对使用简单的代码可以完成复杂任务的方式着迷。

所以,我一直在尝试做这样的事情,

list = [1,2,3,4]

statement = ''

if len(list) > 4:
    statement = '[x for x in list if x%%2 == 0]'
else:
    //do something else

我知道这不会起作用,因为上面的声明只是一个字符串,但是我希望您对正在尝试做的事情有所了解,并希望您可以提出建议。

1 个答案:

答案 0 :(得分:0)

我认为您正在搜索评估函数:

  

Python eval() eval()方法解析传递给该方法的表达式,并在程序中运行python表达式(代码)。

     

简单来说,eval()方法运行python代码(   在程序中作为参数传递。

     

eval()的语法是:

eval(expression, globals=None, locals=None)
     

eval()参数: eval()具有三个参数:

     

-expression-该字符串作为Python进行解析和评估   表达式

     

-globals(可选)-字典

     

-locals(可选)-a   映射对象。字典是标准且常用的映射   输入Python。全局和本地的用法将在后面讨论   在本文中。

     

返回 eval()中的值

     

eval()方法返回从表达式求值的结果。

     

示例:

x = 1
print(eval('x + 1'))
list = [1,2,3,4,5]

statement = ''

if len(list) > 4:
    statement = '[x for x in list if x%2 == 0]'
else:
    pass

print(eval(statement)) # [2, 4]