python类的专有方法
来源:互联网 发布:网页中常用的js特效 编辑:程序博客网 时间:2024/06/07 00:00
一 介绍
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__div__: 除运算
__mod__: 求余运算
__pow__: 称方
二 举例
Python同样支持运算符重载,我么可以对类的专有方法进行重载。
classVector:
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return'Vector (%d 和 %d)'%(self.a, self.b)
def __add__(self,other):
returnVector(self.a + other.a, self.b + other.b)
v1 =Vector(2,10)
v2 =Vector(5,-2)
print(v1)
print(v2)
print(v1 + v2)
三 运行结果
Vector (2 和 10)
Vector (5 和 -2)
Vector (7 和 8)
四 运算符重载
classMylist:
__mylist =[]
def __init__(self,*args):
self.__mylist =[]
for arg in args:
self.__mylist.append(arg)
def __add__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]+ n
def __sub__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]- n
def __mul__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]* n
def __div__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]/ n
def __mod__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]% n
def __pow__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]= self.__mylist[i]** n
def __len__(self):
return len(self.__mylist)
def show(self):
print(self.__mylist)
l =Mylist(1,2,3,4,5)
l.show()
l +5
l.show()
l -3
l.show()
l *6
l.show()
l %4
l.show()
l **3
l.show()
print(len(l))
b =Mylist(2,3,4,5,6,7,8,9)
print(len(b))
b.show()
b -5
b.show()
l.show()
五 运行结果
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[3, 4, 5, 6, 7]
[18, 24, 30, 36, 42]
[2, 0, 2, 0, 2]
[8, 0, 8, 0, 8]
5
8
[2, 3, 4, 5, 6, 7, 8, 9]
[-3, -2, -1, 0, 1, 2, 3, 4]
[8, 0, 8, 0, 8]
阅读全文
0 0
- python类的专有方法
- [随记]python类的专有方法
- python中的类专有的方法
- Python - 私有方法,专有方法
- 专有类的方式
- Python之私有函数和专有方法
- js的数组专有方法splice
- python中的专有函数
- hadoop专有的数据类型
- 物联网需要自己的专有操作系统
- 物联网需要自己的专有操作系统
- 专有云,激发政企大脑的潜能
- 前端动画渲染引擎pixi.js系列(3)container和Sprite继承外专有的函数与方法
- python的类的方法
- 【Python】Python的类、对象、属性、方法
- 被AMD显卡的专有驱动折磨的经历
- 基于Linux的VoIP开放协议和专有协议
- Eclipse添加对sun专有包的权限
- [VMware][CentOS]磁盘扩容操作
- python方法重写
- 树莓派实现 “IP网络损伤仪”
- python抛出异常
- java文件之写入,读取,全部删除,获取过滤or获取特定字符串,删除特定字符串方法集合
- python类的专有方法
- 关于二次开发的目标定位源码的几种方式
- jquery防止页面后退
- Java设计模式之组合模式
- 定时器 + websocket
- 截取url中的参数
- Python3 错误和异常
- 无线上外网,有线上内网的方式
- 已有Java/Android源码项目,如何快速理解代码结构