python22day
内容回顾
递归练习
sys
os
logging
shutil
函数结束啦
今日内容
面向对象
楔子:做一个人狗大战的游戏
- 技能要有归属感,人是人,狗是狗,技能的函数要写在对应函数内部,闭包。
复杂的,拥有开放式结局的程序 比较适合使用面向对象开发
- 比如游戏
#先来定义模子,用来描述一类事物
#具有相同的属性和动作
class Person: #类名
def __init__(self,name,sex,job,hp,weapon,ad):
#必须叫这个名字,所有的在一个具体的人物出现之后拥有的属性
#都可以写在这里
self.name=name
self.sex=sex
self.job=job
self.level=0
self.hp=hp
self.weapon=weapon
self.ad=ad
print(self,self.__dict__) # 类名()会自动调用其中的__init__方法
汤达人=Person('汤达人','男','战士',1000,'大剑',220) # 汤达人 就是对象 这个式子就是类获取对象的过程,实例化
大胖=Person('大胖','男','弓箭手',700,'弓箭',140)
二胖=Person('二胖','男','炸弹人',700,'炸弹',200)
三胖=Person('三胖','女','法师',750,'月火术',160) 汤达人.money=100000 #属性的增加
print(汤达人.__dict__)
del 汤达人.money #属性的删除
print(汤达人.__dict__)
实例化所经历的步骤
- 1.类名()之后的第一个事:开辟一块内存空间
- 2.调用
__init__方法,把空间的内存地址作为self参数传递到函数内部 - 3.所有的这个对象所需要使用的属性,都需要和self关联
- 4.执行完
__init__方法中的逻辑后,self变量会自动返回到调用处。
class Dog: #类名
def __init__(self,name,hp,kind,ad):
#必须叫这个名字,所有的在一个具体的人物出现之后拥有的属性
#都可以写在这里
self.name=name
self.hp=hp
self.kind=kind
self.ad=ad
print(self,self.__dict__)
在类中定义和调用方法
- 用函数定义的方式即可,参数的第一个位置是self
今日总结
面向对象初识
明日学习
面向对象的命名空间
代码总行数2400+42=2442行
python22day的更多相关文章
随机推荐
- 【九度OJ】题目1109:连通图 解题报告
[九度OJ]题目1109:连通图 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1109 题目描述: 给定一个无向图和其中的 ...
- 【LeetCode】329. Longest Increasing Path in a Matrix 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/longest- ...
- 【LeetCode】785. Is Graph Bipartite? 解题报告(Python)
[LeetCode]785. Is Graph Bipartite? 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu. ...
- Docker 与 K8S学习笔记(四)—— Dockerfile的编写
在上一篇中我们简单介绍了Docker镜像的获取与使用,其中在镜像制作中提到在实际使用中一定要用Dockerfile方式去创建镜像而不要用docker commit方式,那么我们该如何编写Dockerf ...
- A New Defense Against Adversarial Images: Turning a Weakness into a Strength
目录 概 主要内容 准则1 准则2 总策略 Hu S, Yu T, Guo C, et al. A New Defense Against Adversarial Images: Turning a ...
- 离线版centos8环境部署迁移监控操作笔记
嗨咯,前两天总结记录了离线版centos8下docker的部署笔记,今天正好是2021年的最后一天,今天正好坐在本次出差回家的列车上,车上没有上面事做,索性不如把本次离线版centos8环境安装的其他 ...
- python中的break 和continue的区别
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环 break的例子如图,当遇到的n为偶数时,直接退出循环,所以打印的结果只有1. continue例子如下图,当遇 ...
- shell中的2>/dev/null
1.文件描述符Linux系统预留可三个文件描述符:0.1和2,他们的意义如下所示:0--标准输入(stdin)1--标准输出(stdout)2--标准错误(stderr) 标准输出--stdout假设 ...
- react将HTML字符串解析为HTML标签
当后台返回的数据是字符串html的话,我们可以利用dangerouslySetInnerHTML属性来把字符串转换成html标签 function showhtml(htmlString){ var ...
- 服务性能监控之Micrometer详解
Micrometer 为基于 JVM 的应用程序的性能监测数据收集提供了一个通用的 API,支持多种度量指标类型,这些指标可以用于观察.警报以及对应用程序当前状态做出响应. 通过添加如下依赖可以将 M ...