广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python自定义一个数组类,支持数组之
  • 432
分享到

Python自定义一个数组类,支持数组之

数组自定义Python 2023-01-31 00:01:37 432人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

class MyArray: '''保证输入的内容是整型、浮点型''' def ___isNumber(self, num): if not isinstance(num, (int,float)):

class MyArray:
'''保证输入的内容是整型、浮点型'''
def ___isNumber(self, num):
if not isinstance(num, (int,float)):
return False
return True

#开始写构造函数,接受可变长度的数组
def __init__(self, *args):
if args == None:
self.__value = []
else:
for a in args:
if not self.___isNumber(a):
print('All elements must be number!')
#self.__value 是一个数组
self.__value = list(args)

#打印输出当前的self.__value
def printSelf(self):
#这个self是一个地址
print(self)
#这个self.__value是一个数组
print(self.__value)

#重载len(Array)这个方法
def __len__(self):
return len(self.__value)

#append方法
def append(self, other):
self.__value.append(other)
#注意:此处不能够直接return self.__value.append(other)
#这个方法执行后没有返回值
return self.__value

#重载运算符+
def __add__(self,other):
if self.___isNumber(other):
#如果other 是一个数,则数组里每一个元素都加上other
array = MyArray()
array.__value = [ i + other for i in self.__value]
return array.__value
elif isinstance(other,MyArray):
#如果other 是一个数组,则两个数组对应位置的数相加
if (len(self.__value) == len(other.__value)):
array = MyArray()
array.__value = [i+j for i,j in zip(self.__value,other.__value)]
return array.__value
else:
print('The size must be equal!')
else:
print('Please input a array or a num!')


#重载运算符 / 浮点数除法,返回浮点数
def __truediv__(self,other):
if self.___isNumber(other):
if other == 0:
print("Zero cant be this number!")
return
array = MyArray()
array.__value = [i / other for i in self.__value]
return array.__value
else:
print("It is must be a number except zero!")

#重载运算符 // 整数除法,返回不大于结果的最大的一个整数
def __floordiv__(self,other):
if isinstance(other,int):
if other == 0:
print("Zero cant be this number!")
return
array = MyArray()
array.__value = [i // other for i in self.__value]
return array.__value
else:
print("Tt is must be a number except zero!")

#重载运算符% 取余数
def __mod__(self,other):
if isinstance(other,int):
if other == 0:
print("Zero cant be this number!")
return
array = MyArray()
array.__value = [i % other for i in self.__value]
return array.__value
else:
print("Tt is must be a number!")

#根据数组index查看元素
def __getitem__(self,index):
arrayLength = len(self.__value)
if isinstance(index,int) and (0 <= index <= arrayLength):
return self.__value[index]
else:
print("Index must be a Inteager which is less than", arrayLength-1)

#查看元素是否在该列表
def __contains__(self,other):
if other in self.__value:
return True
return False

#数组比较
def __lt__(self,other):
if not isinstance(other,MyArray):
print("It is must be the type of MyArray")
return False
if self.__value < other.__value:
return True
return False



--结束END--

本文标题: Python自定义一个数组类,支持数组之

本文链接: https://www.lsjlt.com/news/182319.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python自定义一个数组类,支持数组之
    class MyArray: '''保证输入的内容是整型、浮点型''' def ___isNumber(self, num): if not isinstance(num, (int,float)): ...
    99+
    2023-01-31
    数组 自定义 Python
  • Java如何自定义一个变长数组
    这篇文章主要介绍“Java如何自定义一个变长数组”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何自定义一个变长数组”文章能帮助大家解决问题。思路分析主要功能点:新建时可以指定容量大小,不指...
    99+
    2023-07-04
  • python如何定义一个空的一维数组
    在Python中,可以使用以下方式定义一个空的一维数组: 使用空列表定义: array = [] 使用内置的array库定...
    99+
    2023-10-23
    python
  • C#中怎么定义一个数组
    这篇文章给大家介绍C#中怎么定义一个数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#定义数组一、一维:int[] numbers = new int[]{1,2,3,4,5...
    99+
    2023-06-17
  • python实现给定一个数和数组,求数组
    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + num...
    99+
    2023-01-30
    数组 个数 python
  • python怎么定义一维数组
    在Python中,可以使用列表来表示一维数组。你可以使用以下的方式来定义一个一维数组:```pythonarray = [1, 2,...
    99+
    2023-08-18
    python
  • Python自定义类的数组排序实现代码
    首先把实现方法写出来,其实很简单,只需要一句代码即可: productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice())) 数组produ...
    99+
    2022-06-04
    自定义 数组 代码
  • ASP和npm:哪一个提供更好的数据类型和数组支持?
    在Web开发中,ASP和npm是两个常用的框架,它们都提供了丰富的功能和工具,使得Web开发变得更加高效和便捷。其中,数据类型和数组支持是Web开发中非常重要的一部分,那么ASP和npm哪一个提供更好的数据类型和数组支持呢?本文将从数据类...
    99+
    2023-08-15
    npm 数组 数据类型
  • python怎么定义int类型数组
    在Python中,可以使用列表(list)来表示数组,其中每个元素都可以是整数类型(int)。以下是定义整数类型数组的方法:1. 使...
    99+
    2023-09-04
    python
  • 使用自定义参数解析器同一个参数支持多种Content-Type
    目录一堆废话探究Springmvc参数解析器工作流程不想看废话的可以直接进结果补充一堆废话 事出有因, 原先上线的接口现在被要求用Java重写,按照原暴露出去的文档然后毫无疑问的,按...
    99+
    2022-11-12
  • php如何定义一个常量数组
    在php中定义常量数组的方法有以下几种使用eval()函数定义常量数组define('BEST_PHPER',"return array('name'=>'张三','address'=>'china');");$BEST_PHPER=eva...
    99+
    2022-10-10
  • Java自定义一个变长数组的思路与代码
    目录前言思路分析实现代码测试结果总结前言 首先需要声明的是,Java本身是提供了变长数组的,即ArrayList。那么自定义一个变长数组有啥用?其实没啥用或者说用处不大,主要就是为了...
    99+
    2022-12-29
    java 变长数组 java定义一个长度可变的数组 如何定义变长数组
  • 易语言如何自定义数据类型数组
    在易语言中,可以通过使用结构体来自定义数据类型数组。首先,需要创建一个结构体,定义数组的元素类型和个数。例如,如果想要创建一个包含整...
    99+
    2023-08-17
    易语言
  • C#中怎么定义一个整型数组
    这篇文章给大家介绍C#中怎么定义一个整型数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#中数组是引用类型,C#定义整型数组方式是:int [] intArray = {1,2,3};或int [] intArra...
    99+
    2023-06-18
  • c语言中如何定义一个数组
    在C语言中,可以通过以下方式来定义一个数组:1. 声明并初始化一个数组:```cint arr[] = {1, 2, 3, 4, 5...
    99+
    2023-08-09
    c语言
  • java怎么定义一个数组冒泡排序
    Java中可以使用以下代码定义一个数组冒泡排序的方法: public class BubbleSort { public s...
    99+
    2023-10-26
    java
  • 怎么在java项目中定义一个数组
    这篇文章给大家介绍怎么在java项目中定义一个数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5...
    99+
    2023-06-14
  • Go语言中GORM存取数组/自定义类型数据
    目录GORM存取数组类型数据一、GORM的自定义类型1. Scanner/Valuer接口2. 数组变量3. 测试二、实际生产​总结GORM存取数组类型数据 在GORM不支持数组类型...
    99+
    2023-01-17
    Gorm 数组字段处理 gorm 数组 gorm 自定义类型
  • php如何自定义键下标的一维数组
    在PHP中,数组是一种非常有用和广泛使用的数据结构,可以将数据存储在类似于列表或字典的集合中。在默认情况下,PHP中的一维数组的键下标是自动分配的,从0开始依次递增。但是,有时候我们需要自定义数组的键下标,这种情况下,可以使用PHP内置的函...
    99+
    2023-05-19
  • 如何在VBS中定义一个Byte()字节数组
    这期内容当中小编将会给大家带来有关如何在VBS中定义一个Byte()字节数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在VBS中有办法定义字节数组么? 在VBS中有办法定义字节数组么?就是字节子类型数...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作