我不需要��自己的�� 和��其他��?[英] Do I need "self" and "other"?

问题描述

你好,

我发现了一个例子,它将两个向量的加法定义为一个
一个类的方法.看起来是这样的:

类向量:
def __add__(self, other):
数据 = []
对于范围内的 j(len(self.data)):
data.append(self.data[j] + other.data[j])
返回向量(数据)

在这个例子中,人们使用"self".和"其他".真的需要吗
用这个词?如果是,为什么?我已经替换了"self".通过"x"和
"其他"通过"y"一切看起来都很好.真的可以吗,或者我可以拥有
在某些情况下有什么问题吗?

谢谢!

推荐答案

Kurda Yon 写道:
你好,

我发现了一个例子,它将两个向量的加法定义为一个
一个类的方法.看起来是这样的:

类向量:
def __add__(self, other):
数据 = []
对于范围内的 j(len(self.data)):
data.append(self.data[j] + other.data[j])
返回向量(数据)

在这个例子中,人们使用"self".和"其他".真的需要吗
用这个词?如果是,为什么?我已经替换了"self".通过"x"和
"其他"通过"y"一切看起来都很好.真的可以吗,或者我可以拥有
在某些情况下有些问题?
您可以使用您想要的任何(有效)名称,但通常是"自我"和"其他"
用于清楚起见.在这种情况下,它们表示被操作的向量
on("self")和另一个向量("other").使用 ''x'' 和 ''y'' 会不太清楚
在这里.

--
Hans Nowak(gmail dot com 的 zephyrfalcon)
http://4.flowsnake.org/

6 月 27 日下午 6:32,Hans Nowak <zephyrfalcon!NO_SP...@gmail.com>
写道:
库尔达永写道:
你好,
我发现了一个例子,它将两个向量的加法定义为一个
一个类的方法.它看起来像这样:
类向量:
def __add__(self, other):
数据 = []
对于范围内的 j(len(self.data)):
data.append(self.data[j] + other.data[j])
返回向量(数据)
在这个例子中,人们使用"self".和"其他".真的需要吗
用这个词?如果是,为什么?我已经替换了"self".通过"x"和
"其他"通过"y"一切看起来都很好.真的可以吗,或者我可以拥有
在某些情况下有些问题?

您可以使用您想要的任何(有效)名称,但通常是"自我"和"其他"
用于清楚起见.在这种情况下,它们表示被操作的向量
on("self")和另一个向量("other").使用 ''x'' 和 ''y'' 会不太清楚
在这里.

--
Hans Nowak(gmail dot com 的 zephyrfalcon)http://4.flowsnake.org/
好的我明白了.在给定的示例中,"self"是只是一个名字,可以
替换为任何(有效)名称.总是这样吗?我的意思是,
做"slef"在某些情况下具有特殊含义,或者总是"只是
和其他名字一样"?我这么问是因为"自我"突出显示
在我的文本编辑器中,所以我认为它可以具有特殊含义.我
也听说过"自己"指的是一个对象,我不确定那是什么
"指"意思是.



库尔达永写道:
>

好的我明白了.在给定的示例中,"self"是只是一个名字,可以
替换为任何(有效)名称.总是这样吗?我的意思是,
做"slef"在某些情况下具有特殊含义,或者总是"只是
和其他名字一样"?
是的.

方法是绑定到类或其实例的函数.
Def 语句创建函数.参数名是任意的,只要
因为它们不会与您要访问的任何全局名称冲突
在函数内.

自我(和其他)只是社区约定.他们确实有他们
优点是如果它们仅用作函数/方法参数名称,
那么它们就不会与任何模块全局变量发生冲突.

tjr


本文地址:https://www.itbaoku.cn/post/1050762.html