如果您是面向对象编程的新手,我可能会抛出一些您不熟悉的术语:如果是这样,我建议您查找任何您不知道的单词;)
方法和常规函数之间的区别在于方法是由类“拥有”的。方法基本上是一个仅在该类(通常是对象)上执行的功能。在 python 中,您通过将方法放入类体中来声明方法,缩进一次,如下所示:
class MyClass:
def myMethod(self):
...
要记住的一件事是关键字self
- 它指的是该类的实例,即特定对象。但是,您不会将它作为括号中的参数传递 - 它是在您的示例s
之前的。.
当您通过做实例化 时,您创建了一个名为. 你必须作为第一个参数传递给你的类方法;您还应该如何知道要对哪个对象进行操作?s
s = Segment(p1, p2)
Segment
s
self
__init__()
是一种特殊方法,它定义了如何创建该类的新对象。您可以通过键入类名来调用它,然后在括号中输入您的参数,就好像类名是一个方法一样。在您的示例中是Point(3, 4)
and Segment(p1, p2)
。
通常,您可能会键入s.p1
以获取 a 的第一个点Segment
,但在您的方法主体中,您不知道是什么s
,因为类是在s
实例化之前声明的。但是,您确实知道 pass self
,因此您将键入以self.p1
获取您所指的那个。p1
Segment
您是否已经在Point
某处定义了该类?查看其代码以获取示例。
如果您想要一些指导练习,我建议您查看codeacademy。这是非常基本的,但它会完成工作。