Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将实例变量从一个实例访问到另一个实例_Python_Oop - Fatal编程技术网

Python 将实例变量从一个实例访问到另一个实例

Python 将实例变量从一个实例访问到另一个实例,python,oop,Python,Oop,我正在学习python。假设我的类名为Dog,两个实例名为Fido和Molly。我想通过使用\uuuu add\uuuu重载+运算符来更改second instance的属性,因此当我键入Fido+Molly 将设置Molly.toucted属性。如何从一个实例访问python中部署的另一个实例的属性?我想您对这个特殊方法的工作方式很感兴趣。本质上,它是作为x来工作的。其中x和y可以是实例对象。请参见其实现的示例 您需要在Dog中重载\uuu添加

我正在学习python。假设我的类名为
Dog
,两个实例名为
Fido
Molly
。我想通过使用
\uuuu add\uuuu
重载
+
运算符来更改second instance的属性,因此当我键入
Fido+Molly

将设置
Molly.toucted
属性。如何从一个实例访问python中部署的另一个实例的属性?

我想您对这个特殊方法的工作方式很感兴趣。本质上,它是作为
x来工作的。其中
x
y
可以是实例对象。请参见其实现的示例

您需要在
Dog
中重载
\uuu添加
,以返回更新
y.toucted
属性的内容。例如:

class Dog(object):

    def __init__(self, touched):
        self.touched = touched

    def __add__(self, other):
        other.touched = other.touched + self.touched 
        #return None                                    # optional, explicit

fido = Dog(1)
molly = Dog(2)

fido + molly
molly.touched
# 3

我想你对这种特殊方法的工作原理很感兴趣。本质上,它是作为
x来工作的。其中
x
y
可以是实例对象。请参见其实现的示例

您需要在
Dog
中重载
\uuu添加
,以返回更新
y.toucted
属性的内容。例如:

class Dog(object):

    def __init__(self, touched):
        self.touched = touched

    def __add__(self, other):
        other.touched = other.touched + self.touched 
        #return None                                    # optional, explicit

fido = Dog(1)
molly = Dog(2)

fido + molly
molly.touched
# 3

return None
是多余的。是的,但对于不熟悉Python的人来说是明确的。顺便说一句,我将做一个注释
return None
是多余的。是的,但是对于不熟悉Python的人来说,它是明确的。我将发表评论