Python 如何使用由类生成的方法

Python 如何使用由类生成的方法,python,Python,我想使用我在一个动物列表的类中创建的方法,但我不确定如何做到这一点 我尝试调用列表中的方法,但我想因为该方法在我的类中,所以无法识别它 from src.ruminant import Ruminant class Goat(Ruminant): def __init__(self, age): Ruminant.__init__(self, age) def make_sound(self): return Ruminant.make_so

我想使用我在一个动物列表的类中创建的方法,但我不确定如何做到这一点

我尝试调用列表中的方法,但我想因为该方法在我的类中,所以无法识别它

from src.ruminant import Ruminant
class Goat(Ruminant):

    def __init__(self, age):
        Ruminant.__init__(self, age)


    def make_sound(self):
        return Ruminant.make_sound(self) + " - baah"

#in another program vvv

animals = [Goat(2.0), Goat(2.1)]

这只是一个例子,因为我想尝试自己做一些,但我不确定如何使它输出咩咩咩。任何帮助都将不胜感激,如果我没有把整个问题说清楚,我很乐意尝试进一步解释。

在您获得列表后:

animals = [Goat(2.0), Goat(2.1)]
animals[0]
animals[0].make_sound()
animals[1].make_sound()
只要做:

for animal in animals: 
    animal.make_sound()

确保您理解并能够解释方法是什么,特别是方法基本上是类的一部分这一概念。当你写这篇文章时:

animal = Goat(2.0)
创建一个山羊对象,有时称为山羊类的实例,并将其指定给名称
animal
。拥有对象后,可以调用为其定义的方法:

animal.make_sound()
在Python中,方括号
[]
用于定义称为列表的特殊数据结构。键入时:

animals = [Goat(2.1), Goat(2.2)]
您正在创建两个单独的山羊实例,并将它们存储在一个列表中。该列表指定了名称
动物
,可以使用特殊语法访问

列表中的项有一个索引号,可用于访问单个成员。以下是访问列表中第一个对象的方式:

animals = [Goat(2.0), Goat(2.1)]
animals[0]
animals[0].make_sound()
animals[1].make_sound()
请注意,大多数编程语言都是零索引,这意味着它们从索引
0
开始。因此,列表中的第二个对象是:

animals[1]
与前面一样,我们可以调用为列表中的项定义的方法:

animals = [Goat(2.0), Goat(2.1)]
animals[0]
animals[0].make_sound()
animals[1].make_sound()
一旦你了解了它的工作原理,问“如果我不知道列表中有多少动物怎么办?”是很有意义的。在这种情况下,你需要认识到,对于列表中的每一种动物,你都会执行相同的操作:调用
make_sound()
。如果您想在包含任意数量动物的列表上调用该方法,可以这样做:

for animal in animals:
    animal.make_sound()

对于animal in animals:animal.make_sound()
应该可以工作您的变量是list,所以您需要通过它进行迭代以调用类函数