我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

在c#中怎么定义一个类数组

类数组是用于存储相同类型对象的容器,在 c# 中可以使用以下语法进行定义:类名[] 数组名。在定义后,可以通过在声明时或声明后初始化数组。数组中的元素可以通过索引器或 for 循环进行访问。不过,要注意的是,类数组是引用类型,数组大小是固定
在c#中怎么定义一个类数组
2024-05-14

Java如何自定义一个变长数组

这篇文章主要介绍“Java如何自定义一个变长数组”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何自定义一个变长数组”文章能帮助大家解决问题。思路分析主要功能点:新建时可以指定容量大小,不指
2023-07-04

在 Java 中怎样去定义一个数组?(java中如何定义一个数组)

在Java编程中,数组是一种用于存储相同类型数据元素的集合。定义一个数组是Java编程的基础操作之一,它为我们处理和操作大量数据提供了便利。以下是在Java中定义数组的详细步骤:一、声明数组在Java中,要使用数组,首先需要声
在 Java 中怎样去定义一个数组?(java中如何定义一个数组)
Java2024-12-20

python如何定义一个空的一维数组

在Python中,可以使用以下方式定义一个空的一维数组:使用空列表定义: array = []使用内置的array库定义:import arrayarray = array.array('typecode')其中,typecode表
2023-10-23

Python自定义类的数组排序实现代码

首先把实现方法写出来,其实很简单,只需要一句代码即可:productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice()))数组productlist中存储的是自定义类Produc
2022-06-04

python怎么定义一维数组

在Python中,可以使用列表来表示一维数组。你可以使用以下的方式来定义一个一维数组:```pythonarray = [1, 2, 3, 4, 5]```你也可以使用`range()`函数来生成一个一维数组:```pythonarray
2023-08-18

python怎么定义int类型数组

在Python中,可以使用列表(list)来表示数组,其中每个元素都可以是整数类型(int)。以下是定义整数类型数组的方法:1. 使用方括号([])来创建一个空的整数类型数组:```arr = []```2. 使用方括号([])来创建一个带
2023-09-04

C#中怎么定义一个数组

这篇文章给大家介绍C#中怎么定义一个数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#定义数组一、一维:int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[]
2023-06-17

python实现给定一个数和数组,求数组

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1]
2023-01-30

如何在 Java 中定义一个数组?(详细教程)(如何用java定义一个数组)

在Java编程中,数组是一种常用的数据结构,它可以存储相同类型的多个元素。本文将详细介绍如何使用Java定义一个数组,包括一维数组和多维数组的定义方法。一、一维数组的定义基本语法在Java中,定
如何在 Java 中定义一个数组?(详细教程)(如何用java定义一个数组)
Java2024-12-17

易语言如何自定义数据类型数组

在易语言中,可以通过使用结构体来自定义数据类型数组。首先,需要创建一个结构体,定义数组的元素类型和个数。例如,如果想要创建一个包含整数的数组,可以定义如下结构体:```type MyArray structarr[100] intendst
2023-08-17

Java自定义一个变长数组的思路与代码

有时我们希望将把数据保存在单个连续的数组中,以便快速、便捷地访问数据,但这需要调整数组大小或者对其扩展,下面这篇文章主要给大家介绍了关于Java自定义一个变长数组的思路与代码,需要的朋友可以参考下
2022-12-29

c语言中如何定义一个数组

在C语言中,可以通过以下方式来定义一个数组:1. 声明并初始化一个数组:```cint arr[] = {1, 2, 3, 4, 5};```这种方式会根据初始化的值自动推断数组的大小。2. 声明一个数组,并指定数组的大小:```cint
2023-08-09

c++中如何定义一个二维数组

在 c++ 中定义二维数组时,需指定行数和列数:数据类型 数组名行数;使用大括号 {} 初始化元素,如:int matrix2 = {{1, 2}, {3, 4}};通过下标访问元素,例如:int element = matrix0;如何在
c++中如何定义一个二维数组
2024-05-10

C#中怎么定义一个整型数组

这篇文章给大家介绍C#中怎么定义一个整型数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#中数组是引用类型,C#定义整型数组方式是:int [] intArray = {1,2,3};或int [] intArra
2023-06-18

Go语言中GORM存取数组/自定义类型数据

在使用gorm时往往默认的数据类型不满足我们的要求,需要使用一些自定义数据类型作为字段类型,下面这篇文章主要给大家介绍了关于Go语言中GORM存取数组/自定义类型数据的相关资料,需要的朋友可以参考下
2023-01-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录