Python 卡在_____;和self上

Python 卡在_____;和self上,python,self,Python,Self,我对编程相当陌生,我已经研究了许多其他问题/答案来解决这个问题,但我仍然感到困惑。有人能用一种非常简单的方式解释一下吗?当你创建一个类时,你需要创建一个构造函数。这就是创建类的新实例时发生的情况。在那里,您可能会将所需的最小参数传递到对象中,并执行您所需的任何初始化,以使该对象按设计运行 SELF是对类定义的变量的引用。注意:它不是对方法中定义的变量的引用,尽管您可以在函数中为SELF定义新属性 class Foo (): """This is a dummy class""" def

我对编程相当陌生,我已经研究了许多其他问题/答案来解决这个问题,但我仍然感到困惑。有人能用一种非常简单的方式解释一下吗?

当你创建一个类时,你需要创建一个构造函数。这就是创建类的新实例时发生的情况。在那里,您可能会将所需的最小参数传递到对象中,并执行您所需的任何初始化,以使该对象按设计运行

SELF是对类定义的变量的引用。注意:它不是对方法中定义的变量的引用,尽管您可以在函数中为SELF定义新属性

class Foo ():
  """This is a dummy class"""
  def __init__(self, a, b, c):
    self.name = a
    self.description = b
    self.total = c

  def testMethod(self):
    print("My name is: {} and my Desciption is: {}".format(self.name, self.description))
有关更多信息,请随时查阅相应的类文档


注意:对于Python2.7,需要将变量
object
定义为Foo的对象,因为它是从object扩展而来的。在3.X中,您不需要它。

init是类的构造函数。Self将局部变量引用到该对象。注意,self是对象的变量,而不是方法的变量。
\uuuuu init\uuuuu
是python用来初始化对象的函数。因此,您可以使用所需的任何参数进行设置,例如,将
名称
参数指定给
人员
对象<代码>自我只是指自我的一种方式。它需要这样做,因为您可能会创建同一对象的多个对象,这就是您在特定时刻处理的对象的引用方式。这些都是python中的基本概念,从网站上零零碎碎地学习它们会很痛苦,如果你致力于学习并尝试买一本书,如果你买不起,你甚至可以借一本。我看到了这些,但我仍然不理解。我想有些东西被点击了,因为它现在对我来说更有意义。哦,如果你做了类似instance=Foo()的事情,那么self.name和self.description基本上与instance.name或instance.description相同?你是对的。不过,一般来说,我会尽量避免这样的动态参数赋值,并通过使用:
self.\uu name
来定义私有对象。它不是真正的私人,但它是蟒蛇的标准。我喜欢创建处理arg处理的函数,这样您就不会意外地将损坏的代码或变量输入到属性中。