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】题目1180:对称矩阵 解题报告
[九度OJ]题目1180:对称矩阵 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1180 题目描述: 输入一个N维矩阵,判断是否对称 ...
- Java编程基础
JDK与JRE有什么区别 JDK:Java开发工具包(Java Development Kit),提供了Java的开发环境和运行环境. JRE:Java运行环境(Java Runtime Enviro ...
- Web 网站进化
01-初始阶段 应用程序.数据库.文件等所有资源都在一台服务器上 02-应用服务与数据服务分离 应用服务器 要处理大量的业务逻辑,所以需要更好更快更强大的 CPU 数据库服务器 需要快速的进行磁盘 ...
- 【计算机组成】 Quartus II 关于总线data[][]转换多个总线data[]时不成功的问题
xjtuse 直接使用报错: 加中间层不报错:
- 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法
第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...
- Elasticsearch(二)--集群原理及优化
一.ES原理 1.索引结构ES是面向文档的 各种文本内容以文档的形式存储到ES中,文档可以是一封邮件.一条日志,或者一个网页的内容.一般使用 JSON 作为文档的序列化格式,文档可以有很多字段,在创建 ...
- 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】
资源下载:https://download.csdn.net/download/weixin_44893902/34867237 练习点设计:模糊查询.删除.新增 一.语言和环境 1.实现语言:JAV ...
- Pytest_Hook函数pytest_addoption(parser):定义自己的命令行参数(14-1)
考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行: 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑: 上面的场景我们都可以通过" ...
- spring cloud --- config 从git 获取文件【 可能是yml或 properties】遇到有相同字段的取值规则
spring boot 1.5.9.RELEASE spring cloud Dalston.SR1 1.前言 昨天做了 spring cloud config 配置中心 获取存在gi ...
- nvm安装vue-cli
使用nvm可以更换nodejs版本.方便不同项目的切换 1.安装nvm(本人提供版本为1.1.9,当前最新) ① 到官网自行下载 https://github.com/coreybutler/nvm- ...