我想使用我在动物列表上的类中创建的方法,但我不确定如何做到这一点。
我尝试调用列表中的方法,但我猜是因为该方法在我的类中,所以无法识别它。
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)]这只是一个例子,因为我想试着自己做一些事情,但我不确定如何让它输出baah baah。任何帮助都是非常感谢的,如果我还没有把整个问题都写好,我很乐意尝试进一步解释。
发布于 2019-11-05 10:35:01
在你有了列表之后:
animals = [Goat(2.0), Goat(2.1)]只需这样做:
for animal in animals:
animal.make_sound()发布于 2019-11-05 12:31:11
确保您理解并能够解释方法是什么,特别是方法基本上是类的一部分的概念。当你写下这篇文章时:
animal = Goat(2.0)您可以创建一个Goat对象,有时称为实例Goat类,并将其指定给名称animal。一旦有了对象,就可以调用为其定义的方法:
animal.make_sound()在Python语言中,方括号[]用于定义一种称为列表的特殊数据结构。当您键入时:
animals = [Goat(2.1), Goat(2.2)]您正在创建两个单独的山羊实例,并将它们存储在一个列表中。该列表的名称为animals,可以使用特殊语法进行访问。
列表中的项具有索引号,可用于访问单个成员。下面是访问列表中第一个对象的方法:
animals[0]请注意,大多数编程语言都是零索引,这意味着它们从索引0开始。因此,列表中的第二个对象是:
animals[1]就像前面一样,我们可以调用为列表中的项定义的方法:
animals[0].make_sound()
animals[1].make_sound()一旦您理解了这是如何工作的,就有必要问“如果我不知道列表中有多少动物怎么办?”在这种情况下,您需要认识到,对于列表中的每个动物,您将执行相同的操作:调用make_sound()。如果你想在一个有任意数量的动物的列表上调用这个方法,你可以这样做:
for animal in animals:
animal.make_sound()https://stackoverflow.com/questions/58703647
复制相似问题