Python 3.x 此代码中返回的数据类型是什么?如果这是实例,那么如何使用此返回值获取值?
代码: 输出:Python 3.x 此代码中返回的数据类型是什么?如果这是实例,那么如何使用此返回值获取值?,python-3.x,oop,Python 3.x,Oop,代码: 输出: class A: class B: def __init__(self,value): self.value=value def get(self,value): return self.B(value) a=A() print(a.get(5)) 返回的数据类型是什么?是指针地址还是实例本身?我们如何使用这个返回的输出获取实例(我想要值) 当您调用a.get(5)时,任何帮助都将被告知您正在调用a
class A:
class B:
def __init__(self,value):
self.value=value
def get(self,value):
return self.B(value)
a=A()
print(a.get(5))
返回的数据类型是什么?是指针地址还是实例本身?我们如何使用这个返回的输出获取实例(我想要值)
当您调用a.get(5)
时,任何帮助都将被告知您正在调用a
的特定实例内部的类B
的构造函数,并返回新创建的B
实例
我们可以非常简单地验证这一点:
<__main__.A.B object at 0x7f39df4dc5d0>
我们向构造函数提供相同的输入,但是因为它们是两个单独创建的实例,所以它们彼此不相等
但是,我们只需调用属性value
,即可获取新实例的值:
>>> a.get(5) == a.get(5)
False
这里我们可以进行另一个比较,我们可以看到它现在返回True
,因为属性中包含的值是相同的:
>>> a.get(5).value
5
在由双链表组成的位置列表中,我们如何给出元素的位置当我们创建一个新节点(实例)时,我们返回它的位置在一本书中,我看到返回距离,如上面的代码中所示,我们如何存储这些位置如果你试图实现双链表,那么我认为这是一个问题本身。你可以找到一个关于如何实现它的老问题。从“如何访问对象的属性”到“如何实现这种复杂的数据结构”是一个很大的飞跃。
>>> a.get(5).value
5
>>> a.get(5).value == a.get(5).value
True