Skip to main content
 首页 » 编程设计

python之是否可以在python中使用变量作为代码

2025年05月04日11zhoujg

大约 20 年前,当我学习 perl 时,我记得您可以将变量作为代码。我不确定为什么这不起作用,所以我很想知道在 python 中“插值变量是否可以成为代码”。

例如:

def count_usages(): 
 
    fields_ls = ['reporter', 'creator', 'assignee', 'duedate'] 
 
    counts = {} 
 
    for field in fields_ls: 
        null_crit = field + "__isnull=True" 
        blank_crit = field + "__exact=''" 
 
        counts[field] = Ticket.objects.exclude(null_crit).exclude(blank_crit).count() 
 
 
    for key, value in counts.iteritems(): 
        print "## - for " + key + " we had " + value 

在某种程度上,我认为 Python 是“已编译”的,所以我猜测像这样的运行时评估不会起作用,但我很想确定。

请指教。谢谢!

请您参考如下方法:

不,但你永远不会想要这样做。始终使用字典。

for field in fields_ls: 
    null_crit = {field + "__isnull": True} 
    blank_crit = {field + "__exact": ''} 
 
    counts[field] = Ticket.objects.exclude(**null_crit).exclude(**blank_crit).count() 

(Python 拒绝这样做与它被“编译”无关;它与 Perl 完全一样编译。)