powiedzmy mam klasyW języku Python, "return self" zwraca kopię obiektu lub wskaźnika?
class A:
def method(self):
return self
Jeśli method
nazywa, jest wskaźnikiem do A
-przedmiot będzie zwrócony lub kopię obiektu?
powiedzmy mam klasyW języku Python, "return self" zwraca kopię obiektu lub wskaźnika?
class A:
def method(self):
return self
Jeśli method
nazywa, jest wskaźnikiem do A
-przedmiot będzie zwrócony lub kopię obiektu?
Zwraca referencję:
>>> a = A()
>>> id(a)
40190600L
>>> id(a.method())
40190600L
>>> a is a.method()
True
można myśleć o tym w ten sposób: rzeczywiście przejściuself
do funkcji .method()
jako argument i zwraca ten sam self
.
Zwraca referencję do obiektu, spojrzeć na poniższy przykład:
class A:
def method(self):
return self
a = A()
print id(a.method())
print id(a)
> 36098936
> 36098936
b = a.method()
print id(b)
> 36098936
o id
funkcję (od python docs):
Return „identyczność” obiektu. Jest to liczba całkowita (lub długa integer), która jest gwarantowana jako unikalna i stała dla tego obiektu podczas jego trwania.
Powoduje zwrócenie odwołania do obiektu. Pojęcie wskaźników nie istnieje w Pythonie. – DeepSpace