课堂的主要目标

时间:2016-03-11 23:37:17

标签: python class methods self

我最近了解了类,方法和(自我)功能。虽然我似乎理解了事物的语法方面,但我发现必须在变量前键入[self],这样做的好处很少。 与仅使用没有类引用的单个函数相比,在什么情况下这是有益的?

1 个答案:

答案 0 :(得分:2)

  

与简单地使用没有类引用的单个函数相比,在什么情况下这是有益的?

哇......真是个问题!我相信你应该从面向对象编程的讲座开始。

简单地说:使用class而不是在模块中布置函数的好处是启用面向对象编程的许多功能(通过行为,类继承,属性封装数据......)。

更长一点:OOP背后的主要思想是,你创建一个公共编程接口,其他开发人员(包括你)将使用,你可以隐藏内部工作,所以一旦公共接口全部实现,你不关心内部的工作方式,甚至可以在不破坏使用它的代码的情况下进行更改。

因此,在这种情况下,您创建一个类,并在自己的数据上实现自己的算法,但人们真正关心的是如何使用这些算法更改数据。

这些算法被称为方法和数据成员

在许多语言中,当您创建一个方法(即绑定到"对象"的函数)时,对该对象的当前实例的引用是隐式的(并且可能在Java中可选地显式)或C ++,即this变量。

在python中,语言设计者选择它是显式的,并按约定self调用。然后在极少数情况下,如果需要,可以选择将其称为this(这在执行嵌套类时很有用)。

最后,我谈到了"类","实例"和"对象"。 对象实例。这意味着在这里列出了工作原理(成员是什么,方法是什么......)。然后通过调用构造函数来 instanciate 您的对象。那么,您可以拥有大量共享同一类的对象。这意味着它们的工作方式类似,但它们具有不同的数据。

但在这里我只是抓住表面,只想告诉你selfclass背后有很多概念。

有关该主题的更多信息,请阅读书籍并参加编程课程: