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

Python中figlet.setFont()调用报错:参数数量不符的问题求助

解决pyfiglet中Figlet.setFont()的参数错误问题

你遇到的错误是因为Python实例方法的特性——调用实例方法时,解释器会自动把实例本身作为第一个参数(也就是self)传递给方法。当你写figlet.setFont(random.choice(figfonts))时,实际上传递了两个参数:figlet实例(对应self)和随机选中的字体字符串,而setFont方法要求通过关键字参数接收字体参数,不是位置参数。

修正代码很简单,把位置参数改成带font=的关键字参数即可:

import random
from pyfiglet import Figlet

figlet = Figlet()
figfonts = figlet.getFonts()

random.seed()
figlet.setFont(font=random.choice(figfonts))  # 改为关键字参数传递字体

# 示例:生成并打印figlet文本
print(figlet.renderText("CS50 Practice!"))

补充说明:pyfiglet的setFont方法定义中,字体参数是带默认值的关键字参数(签名类似def setFont(self, font=None, **kwargs):),因此必须显式指定font=来传递字体名称,不能直接使用位置参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:07:06