python - self 参数在功能上为什么不同?

标签 python constructor

我发现这个示例非常困惑,因为它们使用了两个不同的参数 为什么?

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()

最佳答案

实例方法的第一个参数总是对实例的引用。

作为惯例,您通常将此参数命名为self,但是您可以随意为参数指定任何其他有效名称,如您发布的代码所示。

关于python - self 参数在功能上为什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54628887/

相关文章:

python - 稀疏_分类_交叉熵的维度误差

python - 如何禁用 Django UserCreationForm 中用户名字段的自动对焦?

java - 避免构造函数中的重复代码

c# - 另一种通过在构造函数中注入(inject)基类来实例化派生类的基类部分的方法?

Java - 在构造函数中为多个变量分配参数

java - JFrame/JLabel 问题

c++ - SFINAE 条件和构造函数参数类型

python - 如何在 Sikuli 中使用 Python OpenCV 函数

Eclipse 使用带有 execnet 的多个 Python 解释器

python - 如何获取数据框中的所有唯一词