Выходной параметр, использующий вызов по ссылке для определенного пользователем объекта в Python
У меня есть один пользовательский объект. Я хочу передать в качестве ссылки (выходной параметр), чтобы значение входного объекта было изменено внутри функции и вернуться к вызываемой функции. Это может быть достигнуто с помощью списка или словаря, то есть изменяемого объекта. Но как достичь с помощью определенного пользователем объекта без использования списка и словаря. Ниже приведен фрагмент кода:-
class Test:
def __init__(self,data):
self.data = data
def display(root): # Simple Display function
print(root.data)
#Don't want to use List to do pass by reference and out parameter. Instead pass object itself.
def assign(root,args):
if root is not None:
args[0] = root
#Passed object itself, not as List
def assign1(root,temp):
if root is not None:
temp = root
#Driver Function call
root = Test(10)
display(root)
temp = None
args = [temp]
assign(root,args) # Function in which args passed as out parameter
display(args[0]) # Gives Output: 10
temp1 = None
assign1(root,temp1) # Function in which object passed as out parameter
print(temp1) # Gives Output: None
display(temp1) # AttributeError: 'NoneType' object has no attribute 'data'
Может быть, я что-то упустил.