我需要有静态或外部列表,该列表将被A类的每个对象使用。列表的值只需要初始化一次,并且应该从构造函数参数中获取,例如:
def initialize(x, y):
for i in range(0, x):
static_to_return.append([])
for j in range(0, y):
static_to_return[i].append((i * x) + 1 + y)
return static_to_return
class A:
static_member = initialize(x, y)
def __init__(self, x, y):
self.x = x
self.y = y
Run Code Online (Sandbox Code Playgroud)
如何使这项工作有效?也许最好将其移至static_member另一个模块?static_member或者可以在函数中写入吗__init__?
如果您希望从类的第一个对象初始化静态成员,您可以None在类定义中将其初始化,并在实例构造函数中测试其值:
class A:
static_member = None
def __init__(self, x, y):
self.x = x
self.y = y
if A.static_member is None: # still not initialized?
A.static_member = initialize(x, y) # ok, here it is
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |