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】239. Sliding Window Maximum 解题报告(Python&C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 单调递减队列 MultiSet 日期 题目地址:ht ...
- element菜单刷新后定位问题?
之前这样写不行 <el-menu mode="vertical" theme="dark" ref="navbar" :default ...
- [error]Flask Address already in use
在Python的Flask框架下Address already in use [地址已在使用中] 出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则 ...
- <学习opencv>opencv数据类型
目录 Opencv数据类型: 基础类型概述 固定向量类class cv::Vec<> 固定矩阵类cv::Matx<> 点类 Point class cv::Scalar 深入了 ...
- 制作登录页面,点击键盘的 Enter 键或者单击“登录”按钮,验证用户输入的邮箱和密码是否正确
查看本章节 查看作业目录 需求说明: 制作登录页面 点击键盘的 Enter 键或者单击"登录"按钮,验证用户输入的邮箱和密码是否正确 实现思路: 准备登录的静态页面 在页面中嵌入脚 ...
- go语言 装饰器模式
package decoratorimport ( "fmt" "reflect")func Decorator(decoPtr, fn interface{} ...
- 字母 Letters
D. 字母 Letters 内存限制:256 MiB 时间限制:500 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定两个长度相同且由大写英文字母组成的字符串 A 和 B,保证 ...
- python all用法记录
all函数可以返回对象中是否所有元素均为True 代码如下:(此处仅做简单记录,日后不忙时再认真总结) >>> print(list(map(lambda x: True if x ...
- Python 使用timeit模块计算时间复杂度时系统报“invalid syntax”错误
最近在看算法相关的文档 在时间复杂度环节 遇到一个实例: 导入timeit模块后,通过Timer定时器计算两种不同处理方法的时间复杂度 错误代码及报错如下图所示: 仔细查阅 发现from__main_ ...
- Scrapy的Item_loader机制详解
一.ItemLoader与Item的区别 ItemLoader是负责数据的收集.处理.填充,item仅仅是承载了数据本身 数据的收集.处理.填充归功于item loader中两个重要组件: 输入处理i ...