[英]How to create new instance of current class inside the current class method?
我有一個 class。 在“完成”方法中,我想創建這個 class 的新實例並將其添加到數組中。 但相反,它只是將我當前的實例添加到數組中。 如何使用此方法創建新實例?
class Task:
ArrPosition = 0
def __init__(self, content, state, arr):
self.content = content
self.state = state
self.arr = arr
def Complete(self, Answer, CurrentPosition):
if Answer == "True":
self.state = "True"
self.ArrPosition += 1
if self.ArrPosition < 4:
SessionArray[CurrentPosition + self.arr[self.ArrPosition]].append(Task(self.content, "NULL", [0,2,6,10]))
if Answer == "False":
self.state = "True"
self.ArrPosition = 0
SessionArray[CurrentPosition + 1].append(Task(self.content, "NULL", [0,2,6,10]))
其他示例顯示了如何在 class 描述之外執行此操作,但我需要在內部執行此操作。
解決了
class Task:
ArrPosition = 0
def __init__(self, ArrPosition, content, state, arr):
self.ArrPosition = ArrPosition
self.content = content
self.state = state
self.arr = arr
def Clone(self):
return Task(self.ArrPosition, self.content, "NULL", self.arr)
def Complete(self, Answer, CurrentPosition):
if Answer == "True":
self.state = "True"
self.ArrPosition += 1
if self.ArrPosition < 4:
SessionArray[CurrentPosition + self.arr[self.ArrPosition]].append(Task.Clone(self))
if Answer == "False":
self.state = "False"
self.ArrPosition = 0
SessionArray[CurrentPosition + 1].append(Task.Clone(self))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.