如何声明不一定需要的\uuu init \uuuu变量

2024-09-24 12:25:31 发布

您现在位置:Python中文网/ 问答频道 /正文

class Gathering(object):

    def __init__(self, date, spent1, spent2, spent3, spent4):
        """Return a gathering object whose date is declared """
        self.date = date
        self.spent1 = spent1
        self.spent2 = spent2
        self.spent3 = spent3
        self.spent4 = spent4
        self.spent_total = spent1+spent2+spent3+spent4

    def per_person(self):
        return self.spent_total/3

我做了一个简短的脚本,我可以很容易地计算一个人的部分,当我和我的朋友有一些把关。我们经常搬家,花的钱也不一样,但是那天晚上我们去了多少地方总是不一样的

所以我想让spent1,2,3,4变量不一定是必需的,我该怎么做呢


Tags: selfdatereturnobjectinitdefclasstotal
1条回答
网友
1楼 · 发布于 2024-09-24 12:25:31

可以使用数量可变的参数:

class Gathering(object):
    def __init__(self, date, *args):
        """Return a gathering object whose date is declared """
        self.date = date
        self.spent = args
        self.spent_total = sum(args, 0)

    def per_person(self):
        return self.spent_total / 3.0

sent包含一个值元组。你可以像这样使用你的类:

g1 = Gathering(date1, 1, 2, 3)
g2 = Gathering(date2, 2, 3)

等等

相关问题 更多 >