day23 python学习 类 人狗大战】的更多相关文章

面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 面向过程 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 面向过程 优点是:解决了程序的扩展性.对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易. 缺点:可控性差,无法向面向过程的程序设计…
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 对于类的静态属性和方法不同操作发生的效果 #·类名操作变量 不管操作可变还是不可变数据类型 都是类中对应的变量发生变化#对象名操作静态变量#引用变量:现在自己的命名空间中查找,找不到就去类的命名空间找#修改变量:# 如果是对可变数据类型中的元素进行修改,那么全局生效 #如果对可变…
一,通过函数写人狗大战这个故事 #!/usr/bin/env python #_*_coding:utf-8_*_ #1.函数 人模子 def person(name,level,life_value): p_dic = { 'name':name, 'level':level, 'life_value':life_value } return p_dic joker = person('joker',100,4000) #函数 狗模子 def dog(name,breed,live_value…
day23 02 组合(继续人狗大战游戏) 面向对象的三大特性:继承 多态 封装 先讲解一下组合 组合:一个对象的属性值是另一个类的对象:对象.属性.属性(一般有两个点) 继续扩展day22 01里面的人狗大战的小游戏来说明组合的存在,相对于之前的游戏,这次多加了一个武器装备类,而且武器还有它的大招.首先一个武器装备所有的属性有:武器的名字,武器具有的攻击力,武器可使用的次数,购买购买该装备需要的钱,所以你每次使用武器前都要看看自己的钱够不够,不够就得先充值,每次购买武器后,所拥有的钱都要扣除相…
day22 01 初识面向对象----简单的人狗大战小游戏 假设有一个简单的小游戏:人狗大战   怎样用代码去实现呢? 首先得有任何狗这两个角色,并且每个角色都有他们自己的一些属性,比如任务名字name,血量blood,攻击力aggr,人的性别,狗的品种等,如下就是定义了这两个角色: someone={ 'name':'王昭君', , , 'sex':'none' } dog={ 'name':'溜溜球', , , 'kind':'泰迪' } 如上的定义就比较单一,就只能一个人和一只狗玩,如果是…
Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些Python中最基本的内容. Python的特点 解释型语言,无需编译即可运行 提供了交互式命令行 基于对象的编程思想 跨平台和良好的兼容性,在Windows.Mac.Linux上都可运行 简单好用而且功能强大 01 中文编码 很多同学在打开数据时会遇上乱码问题,其原因是字符集的编码问题.Linux和Mac默认的编码集是UTF8,而Windows…
什么叫实例对象呢?大家可以想象一下,[类]就像工厂的模具,以它为模板,造出来的成千上万的产品,才是被我们消费.购买.使用,真正融入我们生活的东西.这些产品,在Python中就叫[实例对象]. 往深了说,Python中,万事万物都可以是对象,[类]这种模板层级的本身也是[对象],但并不是[实例对象] 从模具变成产品,也就是从[类]变成[实例对象]的过程,就叫做[实例化] 使用[实例]和直接使用[类]有什么区别? 要注意,当类需要被实例化后再使用时,和直接使用类的格式是不同的. 通过对比可以看到,实…
类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化 在python中,一个对象的特征也称为属性(attribute),它所具有的的行为也称为方法(method) 对象 = 属性(特征)+方法(行为) 属性可以看做是静态特征(定义的变量等),方法则是动态能力(定义的函数等). 规范来讲:类是具有相似属性和方法的对象的统称,对象则是满足这些属性和方法要求的不同个体 注意:类必须实例化后才可以使用…
#!/usr/bin/python # -*- encoding:utf-8 -*- class Animal: animal_num = 0 class Dog(Animal): #类帮助文档 'this is help' #两个下划线开头,类的私有属性,不能在类外部访问,类内部使用self.__dog_name访问 __Dog_name = 'dahuang' dog_num = 0 #累的构造函数,初始化实例时调用 def __init__(self, name, color): self…
#类属性和实例属性 class Tool(object): #类属性 total = 0 #静态方法 @classmethod def say(self): print("hello world") def __init__(self,new_name): #实例属性 self.name = new_name #类属性 Tool.total += 1 tool1 = Tool("a1") tool2 = Tool("a2") tool3 = To…