是否可以在 python 中使用变量作为函数名?例如:
list = [one, two, three]
for item in list:
def item():
some_stuff()
原文由 thecatwagon 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以在 python 中使用变量作为函数名?例如:
list = [one, two, three]
for item in list:
def item():
some_stuff()
原文由 thecatwagon 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.5k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
诀窍是使用 globals():
将相当于
发现于:George Sakkis https://bytes.com/topic/python/answers/792283-calling-variable-function-name
以下是我现在需要的上述问题的有用应用(这就是我来这里的原因):根据 URL 的性质将特殊功能应用于 URL:
我曾经写过
等等——我的名单现在有 19 个成员,并且还在不断增加。
在调查主题和开发过程中,函数代码已经很自然地成为主函数的一部分,这使得阅读起来很快变得很糟糕,因此将工作代码重新定位到函数中已经是一种极大的解脱。
上面这段笨拙的代码可以替换为:
这样,无论条件列表可能增长多长,主要代码都保持简单易读。
那些对应于条件标签的函数必须按照惯例声明,当然,这取决于所讨论的 URL 类型的性质:
测试:
或者,将其建模为更接近上述场景:
测试:
结果:
现在对该问题的进一步阐述只是将条件列表逐一扩充并根据参数编写相应的函数。此后,上述机制将选择正确的一个。