内容回顾

递归练习

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的更多相关文章

随机推荐

  1. 【LeetCode】990. Satisfiability of Equality Equations 解题报告(C++ & python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 并查集 日期 题目地址:https://le ...

  2. 【LeetCode】49. Group Anagrams 解题报告(Python & Java & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序+hash 日期 题目地址:https://le ...

  3. 【LeetCode】669. Trim a Binary Search Tree 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...

  4. 【LeetCode】75. Sort Colors 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 计数排序 双指针 日期 题目地址:https://l ...

  5. 本原串(hdu 2197)

    本原串 题目链接 思路: 反向想将总的个数减去不符合要求的个数.我们枚举n的约数,然后把n平均分,就可以构成不符合要求的串,\(g[i]\)表示循环节长为i约数的个数\(2^i\),我们要求循环节为\ ...

  6. 【LeetCode】840. Magic Squares In Grid 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 利用河图规律 暴力解法 日期 题目地址:https: ...

  7. hdu 4503 湫湫系列故事——植树节(组合概率)

    这是一道求组合的题.中文题面应该能看懂,废话不多说下面来说说这道题. 可以选的总组合数是Ck3 那么选到3个人的关系都相同,要么都认识,要么都不认识.可以重反面来考虑,就是求三个人的关系不都相同. 那 ...

  8. 【C\C++笔记】数组指针越界

    指针越界,t的数组指针越界,修改了c的内容. 使用指针时,必须规定指针移动的范围 #include <iostream> using namespace std; int main(){ ...

  9. idea解决springboot项目中log4j漏洞升级问题

    最近阿里云团队发现log4j漏洞,危险级别:严重,相关资讯 https://m.sohu.com/coo/hsdt/506958086_355140 https://www.sohu.com/a/50 ...

  10. ProtoBuf3语法指南(Protocol Buffers)_下

    0.说明 ProtoBuf3语法指南, 又称为proto3, 是谷歌的Protocol Buffers第3个版本. 本文基于官方英文版本翻译, 加上了自己的理解少量修改, 一共分为上下两部分. 1.A ...