如何在Python自定义Songs类中实现歌词列表元素逐行输出功能
Python自定义Songs类输出歌词解决方案
错误原因
- 你代码中
sing_me方法的实现逻辑、main函数内的方法调用语句都被注释符号#屏蔽了,程序运行时不会执行这部分代码 - 你尝试的第二种调用写法
Songs.sing_me(参数)不符合实例方法的调用规则:实例方法必须通过类的实例对象调用,不能直接用类名调用
正确实现代码
class Songs: def __init__(self, lyrics): self.lyrics = lyrics def sing_me(self): # 两种方案任选一种即可,输出效果完全符合需求 # 方案1:拼接后一次性打印,IO次数少性能更高 print("\n".join(self.lyrics)) # 方案2:逐行打印,适合需要对单行做额外处理的场景 # for line in self.lyrics: # print(line) def main(): # 完全保留要求的代码行未做修改 Let_go = Songs(['When it"s black, ', 'Take a little time to hold yourself, ', 'Take a little time to feel around, ', 'Before it"s gone!']) # 正确的实例方法调用写法 Let_go.sing_me() # 脚本直接运行时触发执行 if __name__ == "__main__": main()
输出效果验证
运行代码后输出结果如下,完全符合需求:
When it"s black, Take a little time to hold yourself, Take a little time to feel around, Before it"s gone!
内容的提问来源于stack exchange,提问作者Oliwier Piasecki
相关产品推荐
相关产品推荐

