如何在python中的列表中存储类对象的多个实例?

时间:2014-08-09 22:17:21

标签: python

  1. 如何在列表中存储多个类对象实例?

  2. 如何将名称绑定到Python中的类型?在Java中,我会做这样的事情:

    SliceField[] schemaElements = {
        new SliceField("cust", SliceDB.INT),
        new SliceField("name", SliceDB.STRING),
        new SliceField("age", SliceDB.INT),
        new SliceField("phone", SliceDB.STRING),
        new SliceField("address", SliceDB.STRING)
    }
    
  3. 我将如何在Python中执行此操作?

3 个答案:

答案 0 :(得分:1)

至于1),你只需要一个清单。

schemaElements = [SliceField("cust", SliceDB.INT), ..., SliceField("address", SliceDB.STRING)]

关于2),我不确定你的意思:

  • 如果你的意思是确保变量总是具有某种类型,那么(a)没有(简单)方法可以做到这一点,(b)它是discouraged (use Duck Typing instead)

    < / LI>
  • 您是否应该重命名类型(例如C typedef),只需指定它们(newName = typeName

答案 1 :(得分:0)

你可以用Python在Java中做到这一点:

 class Test:
     def __init__(self, a, b):
         self.a = a
         self.b = b

 l = [Test(1, 2), Test(3, 4), Test("I declare", "a thumb war")]

 l[0].a
 >>> 1

 l[2].b
 >>> 'a thumb war'

答案 2 :(得分:0)

您可以这样做:

schemaElements = [SliceField("cust", SliceDB.INT),....]

在执行此操作时,请确保课程SliceField已定义__init__

class SliceField(value,type):
     def __init__(self, value, type):
         self.value = value
         self.type = type
     # Define other class parameters

如果您希望SliceField绑定到某些特定条件,则必须在类本身内定义它。