将函数中设置的变量传递给类中的方法

时间:2015-07-16 12:35:10

标签: python

我对如何将函数中设置的变量传递给类中的方法感到很困惑。

以下是相关代码:

    <body ng-controller="MainCtrl">

        <div>{{noOfPages}} &nbsp; {{currentPage}} &nbsp; {{maxSize}}
            <pagination ng-model="currentPage" total-items="bodynews.length" items-per-page="5"></pagination>
        </div>
        <div class="alert alert-info" ng-repeat="tic in bodynews">
            {{tic}}
        </div>

    </body>

我在程序开头用这一行创建了class monster(): def __init__(self, health, name): print(name + " has been born!") self.name = name self.health = health self.stats(name, health) def stats(self, name, health): self.name = name self.health = health print(self.name + " - " + str(self.health) + " HP") 的实例:

monster()

但是,你可以看到函数gameMonster = monster(20, name) 应该显示怪物的名称健康,这是之前设置的。游戏处于循环,因此stats()函数将在每次&#34;转动&#34;后调用。但是,我需要将变量stats()name传递给health才能显示它们,但似乎无法弄清楚如何。

我的问题是:

如何将在初始化方法时声明的变量传递给同一类中的另一个方法?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:3)

您不需要再次设置它们,它们已经存在于实例中:

class Monster(object):    
    def __init__(self, health, name):
        print(name + " has been born!")
        self.name = name
        self.health = health
        self.stats()

    def stats(self):
        print(self.name + "  -  " + str(self.health) + " HP")

用法:

>>> monster = Monster(20, 'Boris')
Boris has been born!
Boris  -  20 HP

>>> monster.stats()
Boris  -  20 HP

>>> monster.health -= 5
>>> monster.stats()
Boris  -  15 HP