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的更多相关文章
随机推荐
- 【LeetCode】230. 二叉搜索树中第K小的元素 Kth Smallest Element in a BST
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:算法题,刷题,Leetcode, 力扣,二叉搜索树,BST ...
- 【LeetCode】150. Evaluate Reverse Polish Notation 解题报告(Python)
[LeetCode]150. Evaluate Reverse Polish Notation 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/ ...
- 如何利用Python实现Office在线预览
目前,市场对于Office在线预览功能的需求是很大的.对于我们用户本身来说,下载Office文件后再实现预览是极其不方便的,何况还有一些不能打开的专业文档.压缩文件等.此时,能提供在线预览服务的软件就 ...
- POJ 3264:Balanced Lineup(区间最值查询ST表&线段树)
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 75294 Accepted: 344 ...
- Max-Mahalanobis Linear Discriminant Analysis Networks
目录 概 主要内容 Pang T, Du C, Zhu J, et al. Max-Mahalanobis Linear Discriminant Analysis Networks[C]. inte ...
- vue 滚动公告
<!-- 滚动公告 --> <div class="textArr"> <p class="slice-enter-active" ...
- CS5211替代PS8625|设计EDP转LVDS转接屏方案|替代PS8625
PS8625将作为DP或eDP接收器设备出现在视频源中,并将作为LVDS显示面板的LVDS源设备.该设备是一个完全集成的解决方案,不需要外部CPU.内存.时钟基准或电压调节器.PS8625可配置为从显 ...
- 【jvm】07-偏向锁、轻量锁、重量锁到底是啥?
[jvm]07-偏向锁.轻量锁.重量锁到底是啥? 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺 ...
- [ vue ] 自定义组件的 v-model 理解
需求场景描述: 1. 在父组件 myself.vue 里面定义数据 button_val 2. 在父组件 myself.vue.里面定义按钮,它的功能是吧 button_val 的值 -1 ---- ...
- 图片上传,直接在网页中显示(支持IE,谷歌,火狐浏览器)
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...