python---面向对象4--类方法

 1 class Point:
 2     """
 3     表示平面坐标系里的一个点
 4     """
 5     name = ''  # 类属性
 6 
 7     # 定义在类里的普通函数就是对象方法
 8     def my_point(self):
 9         print('({}, {})'.format(self.x, self.y))
10 
11     def distance(self, p2):
12         return ((self.x - p2.x) ** 2 + (self.y - p2.y) ** 2) ** 0.5
13 
14     # 类方法
15     # 在类中通过装饰器classmethod可以把一个函数定义为类方法
16     # 给Point类定义一个类方法,用来返回坐标原点
17     @classmethod
18     def base_point(cls):
19         bp = cls()
20         bp.x = 0
21         bp.y = 0
22         return bp
23     # 调用
24     # 类名.类方法(参数)
25     # 对象.类方法(参数)
26     # 都会隐式的把类本身传递给类方法的第一个参数
27     # 所以这个参数默认定义为cls表示类本身
28 
29 
30 bp = Point.base_point()
31 print(type(bp))
32 bp.my_point()
33 
34 p = Point()
35 p.base_point().my_point()

 

posted @ 2022-03-07 16:49  WJ-HAHA  阅读(18)  评论(0编辑  收藏  举报