首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用从类生成的方法

如何使用从类生成的方法
EN

Stack Overflow用户
提问于 2019-11-05 10:29:45
回答 2查看 59关注 0票数 2

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

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

代码语言:javascript
运行
复制
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。任何帮助都是非常感谢的,如果我还没有把整个问题都写好,我很乐意尝试进一步解释。

EN

回答 2

Stack Overflow用户

发布于 2019-11-05 10:35:01

在你有了列表之后:

代码语言:javascript
运行
复制
animals = [Goat(2.0), Goat(2.1)]

只需这样做:

代码语言:javascript
运行
复制
for animal in animals: 
    animal.make_sound()
票数 7
EN

Stack Overflow用户

发布于 2019-11-05 12:31:11

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

代码语言:javascript
运行
复制
animal = Goat(2.0)

您可以创建一个Goat对象,有时称为实例Goat类,并将其指定给名称animal。一旦有了对象,就可以调用为其定义的方法:

代码语言:javascript
运行
复制
animal.make_sound()

在Python语言中,方括号[]用于定义一种称为列表的特殊数据结构。当您键入时:

代码语言:javascript
运行
复制
animals = [Goat(2.1), Goat(2.2)]

您正在创建两个单独的山羊实例,并将它们存储在一个列表中。该列表的名称为animals,可以使用特殊语法进行访问。

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

代码语言:javascript
运行
复制
animals[0]

请注意,大多数编程语言都是零索引,这意味着它们从索引0开始。因此,列表中的第二个对象是:

代码语言:javascript
运行
复制
animals[1]

就像前面一样,我们可以调用为列表中的项定义的方法:

代码语言:javascript
运行
复制
animals[0].make_sound()
animals[1].make_sound()

一旦您理解了这是如何工作的,就有必要问“如果我不知道列表中有多少动物怎么办?”在这种情况下,您需要认识到,对于列表中的每个动物,您将执行相同的操作:调用make_sound()。如果你想在一个有任意数量的动物的列表上调用这个方法,你可以这样做:

代码语言:javascript
运行
复制
for animal in animals:
    animal.make_sound()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58703647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档