Moa*_*ghi 4 python arrays types
在java中,以下代码定义了预定义类(myCls)的数组:
myCls arr[] = new myCls
Run Code Online (Sandbox Code Playgroud)
我怎么能在python中做到这一点?我想要一个type(myCls)数组?
提前致谢
Python是动态类型的.您不需要(实际上不能)创建仅包含单个类型的列表:
arr = list()
arr = []
Run Code Online (Sandbox Code Playgroud)
如果您要求它只包含一个类型,那么您将不得不创建自己的列表,重新实现列表方法和您__setitem__()自己.
您只能使用数组包创建只有一种类型的数组,但它不是为存储用户定义的类而设计的.
python的方法是创建一个对象列表:
a = [myCls() for _ in xrange(10)]
Run Code Online (Sandbox Code Playgroud)
您可能想看看这个stackoverflow问题.
注意:
小心这个符号,它可能不是你想要的:
a = [myCls()] * 10
Run Code Online (Sandbox Code Playgroud)
这也将创建一个十倍于myCls对象的列表,但它是相同对象的十倍,而不是十个独立创建的对象.