You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cowsay包循环调用疑问:无法通过变量调用角色方法?

解决cowsay批量调用角色的问题

你的代码问题出在直接用变量名作为模块方法名调用——Python不会把循环里的i解析成对应的函数名,它只会去找cowsay模块里有没有叫i的函数,自然找不到,所以执行失败。

要通过字符串变量调用模块里的方法,得用Python内置的getattr()函数,它能根据字符串获取对象的属性/方法。修改后的代码如下:

import cowsay

x = ['beavis', 'cheese', 'cow', 'daemon', 'dragon', 'fox', 'ghostbusters', 'kitty',
'meow', 'miki', 'milk', 'octopus', 'pig', 'stegosaurus', 'stimpy', 'trex',
'turkey', 'turtle', 'tux']

for i in x:
    getattr(cowsay, i)("Hello")

运行这段代码就能逐个输出所有角色的ASCII图案了。

内容的提问来源于stack exchange,提问作者user25089840

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:12:01