标签:lan 一个 类的属性 div 方式 init __add__ -o src
1、什么是类对象,实例对象
类对象:类名
实例对象:类创建的对象
2、类属性:
就是类对象
所拥有的属性,它被所有类对象
的实例对象
所共有,在内存中只存在一个副本。对于公有的类属性,在类外可以通过类对象
和实例对象
访问
3、 类的结构
(1) 术语 —— 实例
1. 使用面相对象开发,第 1 步 是设计 类
2. 使用 类名() 创建对象,创建对象 的动作有两步:
3. 在内存中为对象 分配空间
2. 调用初始化方法 `__init__` 为 对象初始化
3. 对象创建后,内存 中就有了一个对象的 实实在在 的存在 —— 实例
因此,通常也会把:
1. 创建出来的 对象 叫做 类 的 实例
2. 创建对象的 动作 叫做 实例化
3. 对象的属性 叫做 实例属性
4. 对象调用的方法 叫做 实例方法
4 、类方法
通过 类名. 的方式可以 访问类的属性 或者 调用类的方法
5、插入代码如下:
class vector3: def __init__(self, x_ = 0, y_ = 0, z_ = 0): self.x = x_ self.y = y_ self.z = z_ def __add__(self, obj): return vector3(self.x+obj.x, self.y+obj.y, self.z+obj.z) def __sub__(self, obj): return vector3(self.x-obj.x, self.y-obj.y, self.z-obj.z) def __mul__(self, obj): return vector3(self.x*obj.x, self.y*obj.y, self.z*obj.z) def __pow__(self, obj): return vector3(self.y*obj.z-obj.y*self.z, self.z*obj.x-self.x*obj.z, self.x*obj.y-obj.x*self.y) def __str__(self): return str(self.x)+‘,‘+str(self.y)+‘,‘+str(self.z) v1 = vector3(1, 2, 3) v2 = vector3(0, 1, 2) print (v1 + v2) print (v1 - v2) print (v1 * v2) print (v1 ** v2)
6、运行结果如下:
标签:lan 一个 类的属性 div 方式 init __add__ -o src
原文地址:https://www.cnblogs.com/LuDuo/p/10727108.html