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

如何在python中在列表中存储类对象的多个实例?,python,Python,如何在列表中存储类对象的多个实例 在Python中如何将名称绑定到类型?在Java中,我会这样做: SliceField[] schemaElements = { new SliceField("cust", SliceDB.INT), new SliceField("name", SliceDB.STRING), new SliceField("age", SliceDB.INT), new SliceField("phone", SliceDB.STRING)

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

  • 在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)
    }
    
    schemaElements = [SliceField("cust", SliceDB.INT),....]
    
  • 在Python中如何实现这一点?

    至于1),您只需要一个列表

    schemaElements = [SliceField("cust", SliceDB.INT), ..., SliceField("address", SliceDB.STRING)]
    
    关于2),我不太清楚你的意思:

    • 你的意思是确保一个变量总是有一个特定的类型,有(a)没有(简单的)方法做到这一点,(b)它是

    • 如果您的意思是重命名类型(如C
      typedef
      ),只需分配它们(
      newName=typeName


    您可以在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'
    

    您可以这样做:

    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)
    }
    
    schemaElements = [SliceField("cust", SliceDB.INT),....]
    
    执行此操作时,请确保类
    切片字段
    已定义
    \uuuu init\uuuu

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

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

    而不是使用SliceDB.INT,我只想将它绑定到Int,因为这里我不会创建类名Slice.Int,所以您只想发出该字段应该具有的类型的信号?所以我将使用类似schemaElements=[SliceField(“cust”,Int)…]的东西?是的。此外,您还可以使用它自动将值转换为正确的类型,因为
    int
    str
    是分别将值转换为整数和字符串的函数。这是正常的。修好了。非常感谢,我可以将实例变量绑定到一个类型吗?我没有Slide.DB类?