1 # 方法
2 # 定义在类中的函数称为方法
3 # 通过调用方式的不同,分为对象方法、类方法、静态方法、魔术方法
4
5
6 class Point:
7 """
8 表示平面坐标系里的一个点
9 """
10 name = '点' # 类属性
11
12 # 定义在类里的普通函数就是对象方法
13 def my_point(self):
14 print('({}, {})'.format(self.x, self.y))
15
16 def distance(self, p2):
17 return ((self.x - p2.x) ** 2 + (self.y - p2.y) ** 2) ** 0.5
18
19 # 1.对象方法
20 # 定义在类中的普通函数,一般通过对象去调用
21
22 # 调用对象方法
23 # 1.1 类名.方法名(参数) --- 不用
24 # 和普通的函数没有什么区别
25 # Point.x = 1
26 # Point.y = 2
27 # Point.my_point(Point)
28
29 # 1.2 对象.方法名(参数) --- 常用
30 # 创建一个实例
31 # 通过对象去调用对象方法时,会隐式的把对象本身传递给方法的第一个参数
32 # 所以对象方法会把第一个参数命名为self
33
34
35 p = Point()
36 p.x = 1
37 p.y = 2
38 p.my_point()
39
40 p1 = Point()
41 p1.x = 0
42 p1.y = 0
43 res = p.distance(p1)
44 print(res)
45
46
47 # """
48 # 定义一个函数my_print, 它接受一个Point类的对象,如何打印这个对象的x和y坐标
49 # """
50 #
51 #
52 # def my_point(point):
53 # print('({}, {})'.format(point.x, point.y))
54 #
55 #
56 # ###
57 # """
58 # 定义一个函数distance,它接收两个Point对象,然后返回这两个点的距离
59 # """
60 #
61 #
62 # def distance(p1, p2):
63 # return ((p1.x - p2.x)**2 + (p1.y - p2.y)**2)**0.5
64 #
65 #
66 # p = Point()
67 # p.x = 1
68 # p.y = 2
69 # my_point(p)
70 #
71 # p2 = Point()
72 # p2.x = 0
73 # p2.y = 0
74 #
75 # res = distance(p, p2)
76 # print(res)