创建对象时,默认调用构造方法__init__(),当删除一个对象时,同样也会默认调用一个方法,这个方法为析构方法__del__()。

逐一迭代输出的方法:首先在__init__()中定义一个list,把类的所有属性都存放进去,然后定义一个index=-1用于循环。接着,在类中写一个next(),在next()中,可以编辑停止迭代的条件(当index>xx的时候,raise StopOteration),还编辑返回list[index](),并且index++(实现逐一迭代输出类的属性)。

例子:

实现代码:

class Charmander:def __init__(self,name,gender,level,status,attribute):self.name = nameself.gender = genderself.level=level#能力中除了第一个为string外,其他的需要根据level计算除了power=["",1,2,3,4,5,6]power[0]=statuspower[1]=self.level*2+10for index in range(2,7):power[index]=self.level+5self.power = powerself.attribute = attribute#把所有属性存储在一个List中self.info=[self.name,self.gender,self.level,self.power,self.attribute]#设置一个下标用于逐一迭代输出self.index=-1#获取玩家信息def getName(self):return self.namedef getGender(self):return self.genderdef getStatus(self):return self.powerdef getType(self):return self.attribute#迭代升级变化def level_up(self):self.level+=1self.power[1]+=2for index in range(2,7):self.power[index]+=1#升级后原list中的属性需要更新self.info[2]=self.levelself.info[3]=self.power#迭代输出def __iter__(self):print("名字   性别  等级  能力          属性")return self#逐一迭代def next(self):#当index>3,所有属性已经遍历完毕if self.index>3:self.index=-1raise StopIteration#遍历属性,逐一输出self.index+=1return self.info[self.index]#升级前
player1 = Charmander("玩家1","男",5,"法师","风属性")
player1.__iter__()
#迭代使用方法
iterator = iter(player1.next,0)
for info in iterator:print(info)
print()
#升级后
print("升1级后:")
player1.__iter__()
player1.level_up()
iterator2 = iter(player1.next,0)
for info2 in iterator2:print(info2)

实现效果图:

python编程基础-类的使用相关推荐

  1. python编程基础—类与对象

    1.类的声明与定义 Python 是一门面向对象的语言. 面向对象编程 - Object Oriented Programming(简称 OOP)是一种编程思想,在面向对象编程中,把对象作为程序的基本 ...

  2. 6-1 设计一个股票类(高教社,《Python编程基础及应用》习题9-6)

    6-1 设计一个股票类(高教社,<Python编程基础及应用>习题9-6) (10 分) 设计一个名为Stock的类来表示一个公司的股票,包括以下内容: 1)股票代码.股票名称.前一天股票 ...

  3. 6-3 定义并实现Book类及其__del__函数(高教社,《Python编程基础及应用》习题9-4)

    图书馆里有很多的书, 请定义一个名为Book的类.该类的属性包括书名(字符串),书号(字符串),单价(浮点数):该类的构造函数接受书名,书号及单价三个参数并参成对象初始化:该类的__del__()函数 ...

  4. python编程基础与应用-Python程序设计基础与应用

    图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...

  5. 《Python编程快速上手——让繁琐工作自动化》——第一部分 Python编程基础 第1章 Python基础 1.1 在交互式环境中输入表达式...

    本节书摘来自异步社区<Python编程快速上手--让繁琐工作自动化>一书中的第1章,第1.1节,作者[美] Al Sweigart,王海鹏 译,更多章节内容可以访问云栖社区"异步 ...

  6. 【不会吧不会吧,不会有人真的三分钟入门Python了吧?】Python编程基础

    python编程基础 变量 字符串 字符串是Python中最常用的数据类型.我们可以使用引号('或者")来创建字符串. string = 'hello world.' name = &quo ...

  7. python编程基础_月隐学python第2课

    python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...

  8. python在线作业_南开大学20春学期《Python编程基础》在线作业参考答案

    南开大学20春学期(1709.1803.1809.1903.1909.2003)<Python编程基础>在线作业 试卷总分:100 得分:98 一.单选题(共20 道试题,共40 分) 1 ...

  9. Python编程基础 - 使用临时文件和临时目录

    Python编程基础 - 使用临时文件和临时目录 李俊才 CSDN博客:jcLee1995 291148484@163.com [导读]:本文先介绍了什么是临时文件,然后围绕Python内建模块Tem ...

  10. 【Python语言】Python编程基础

    Python编程基础 一.简介 1.Python解释器 2.特点 (1)语法简洁 (2)与平台无关 (3)粘性扩展 (4)开源理念 (5)通用灵活 (6)强制可读 (7)支持中文 (8)模式多样 (9 ...

最新文章

  1. python综合作业题目_python作业 1、2、3 题
  2. 基于pygtk的linux有道词典
  3. Web---JSP-EL表达式
  4. HttpURLConnection与 HttpClient 区别/性能测试对比
  5. 软件构造学习笔记-第四周
  6. VS里的新建模板(自动添加版本注释)
  7. Oracle HA 之 OGG部署流水
  8. java 指针 引用_java中的引用与c中的指针
  9. blender使用_DigiVita使用Blender教女孩编码
  10. 海量用户标签系统之存储架构设计(Bigmap算法)
  11. BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第二部分
  12. 关押罪犯 扩展域并查集
  13. Linux中常用的目录(/home,/etc ,/opt)
  14. 浏览器的工作原理:新式网络浏览器幕后揭秘(转)
  15. 100天,Python从入门到精通!
  16. 爬虫实战 -- QQ空间自动点赞
  17. Qunee For Html5 开发清新、高效的拓扑图组件
  18. 小学信息技术 Linux,小学信息技术教育教学计划
  19. Linux No space left on device 磁盘空间不足
  20. Mac系统下Carina初体验

热门文章

  1. 玩转力扣 - LeetCode进度倒计数表
  2. linux统计文件大小大于100k,Centos / Linux设置logrotate为所有日志的最大文件大小
  3. 项目管理 : 如何做好建筑工程的施工成本管理
  4. 计算机 国际顶尖级会议排名,计算机学科国际会议排名
  5. 核心微生物分析_中国白酒发酵过程中的核心微生物群及其与环境因子的关系
  6. [Android]bp侧gerrit提交不上去时,删除编译生成的二进制文件
  7. 华为事件对我们个人成功的启示:为什么自强自立不是出路?
  8. 计算机 医学 sci期刊,医学临床研究方面2分的sci期刊
  9. java 数独算法_[Java] 数独生成和求解
  10. 【保姆级教程】Spring Boot单元测试(Controller层的Header处有Token验证的详细示例代码),文末介绍Postman 的基本使用