Python中多态传参问题

问题遇到的现象和发生背景

在学习多态的时候遇到了这个问题,当定义一个函数调用类中的方法时候,如果一个类中的方法需要传入对应参数时,多态应该怎么处理呢

问题相关代码
class duck(object):
    def __init__(self,name='duck'):
        self.name=name

    def action(self,bbs):
        print('攻击',bbs)

class cat(object):
    def __init__(self,name='cat'):
        self.name=name

    def action(self,bbs):
        print('攻击',bbs)

class tree(object):
    def __init__(self,name='tree'):
        self.name=name

d1=duck()
c1=cat()
t1=tree()

# 调用类中的对应方法
def fangfa(obj):
    obj.action()

fangfa(cat)

运行结果及报错内容

img

这跟多态没有一毛钱关系
你的函数action拼错了吧,应该叫attack吧?
函数里要求传入bbs,这应该是攻击目标吧?
要求传入参数,那你调用的时候就要传入参数啊
看样子bbs就是个str类型
你这样obj.action('毛线球')
不就行了

img