【问题标题】:Python: How to add a static class array of objects?Python:如何添加对象的静态类数组?
【发布时间】:2015-04-29 20:26:15
【问题描述】:

我是 python 新手! 我在玩类、列表和字典,但我遇到了问题!

我有这段代码:

class Vacca( object ):
    Munte = dict()

    def __init__( self, nr ):
        self.nome = "VACCA_" + str( nr )
        self.numero = str(nr)
        self.mungiture = []

    def mungi( self, latte ):
        nr = self.numero
        Vacca.Munte[ nr ] = self
        Vacca.Munte[ nr ].mungiture.append( latte )

vacca = Vacca( 1 )
vacca.mungi( "white milk" )

vacca = Vacca( 1 )
vacca.mungi( "black milk" )

vacca = Vacca( 1 )
vacca.mungi( "yellow milk" )

vacca = Vacca( 2 )
vacca.mungi( "dark chocolate" )

for v in Vacca.Munte:
    print Vacca.Munte[v].mungiture

如果我运行这是结果:

['yellow milk']
['dark chocolate']

但我需要这个:

['white milk','black milk','yellow milk']
['dark chocolate']

我怎么了?

【问题讨论】:

    标签: python class dictionary


    【解决方案1】:

    问题是每次执行vacca = Vacca(1) 时都会覆盖该对象,并擦除之前所做的一切!

    改为这样做:

    vacca = Vacca( 1 )
    vacca.mungi( "white milk" )
    vacca.mungi( "black milk" )
    vacca.mungi( "yellow milk" )
    

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 2018-12-24
      • 1970-01-01
      • 2014-08-13
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      相关资源
      最近更新 更多