- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温州大学瓯江学院数学与信息工程学院
《Python 程序设计》 实验报告
实验名称: 实验 11 Python 面向对象下
班 级: 18 计算机 2 姓 名: 学 号:
实验地点: 7-706 日 期: 2019/11/28
一、实验目的:
[实验目的和要求 ]
1、掌握如何定义一个类
2 、了解如何定义类的私有数据成员和成员方法
3 、掌握如何使用自定义类实例化对象
二、实验环境:
1、计算机,局域网, python 软件
三、实验内容和要求: (直接将实验步骤及截图写在题目下面,结果必须截图)
1、Python 中,各种运算符也属于特殊方法, 如 x+y 等价于 x.__add__(y);python 类体中, 通过重写
各运算符所对应的特殊方法,即可以实现运算符的重载。使用运算符重载完成如下问题:
(1)定义类 MyList ,实现列表中每个元素加、减、乘、除 n ,并返回列表长度并输出列表。参照
重载运算符 + 将其他重载运算符代码补全并测试:
class MyList: # 定义类 MyList
def __init__(self, *args): # 构造函数
self.__mylist = [] #初始化私有属性,空列表
for arg in args:
self.__mylist.append(arg)
def __add__(self, n): #重载运算符 + ,每个元素增加 n
#重载运算符 - ,每个元素减少 n
# 实现代码
#重载运算符 * ,每个元素乘以 n
# 实现代码
#重载运算符 / ,每个元素除以 n
#实现代码
def __len__(self): #对应于内置函数 len() ,返回列表长度
return(len(self.__mylist))
def __repr__(self): #对应于内置函数 repr() ,显示列表,可换为 __str__()
str1 =
for i in range(0, len(self.__mylist)):
str1 += str(self.__mylist[i]) +
return str1
要求实例化 MyList 类,进行相应运算与操作,参考测试代码,输出相应结果。并查阅相关资料,
了解 __str__和 __repr__ 的区别。
m = MyList(1, 2, 3, 4, 5)
m + 2 print(repr(m))
m – 1 print(repr(m))
m * 4 print(repr(m))
m / 2 print(repr(m))
print(len(m))
代码:
class MyList:
def __init__(self, *args):
self.__mylist = []
for arg in args:
self.__mylist.append(arg)
def __add__(self,n):
for i in range(len(self.__mylist)):
self.__mylist[i]+=n
def __sub__(self,n):
for i in range(len(self.__mylist)):
self.__mylist[i]-
文档评论(0)