如何在列表中存储多个类对象实例?
如何将名称绑定到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)
}
我将如何在Python中执行此操作?
答案 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
绑定到某些特定条件,则必须在类本身内定义它。