二十. Python基础(20)--面向对象的基础
二十. Python基础(20)--面向对象的基础
1 ● 类/对象/实例化
|
类:具有相同属性、和方法的一类人/事/物 对象(实例): 具体的某一个人/事/物 实例化: 用类创建对象的过程→类名(参数) # 这个参数传给__init__方法 类的的定义 |
2 ● 面相对象方法在什么时候用?
|
需要反复传递相同的参数给一些函数的时候 例如一个长方形的长/宽作为参数反复传递给计算面积/周长/对角线的函数 |
3 ● 属性
|
① 类中的属性: #静态属性:类属性 #动态属性:方法 ② 对象的属性: # __init__()方法初始化而来 # 在类内调用对象的属性:self.属性名 # 在类外调用对象的属性:对象名.属性名 |
4 ● 案例: 人狗大战
|
class Person: role = 'person' #静态属性/类属性: 所有对象共有的属性,可以直接被类调用 def __init__(self,name,sex,aggressive=200): #对象属性: 只属于某一个对象, 必须在实例化之后才能被对象调用 self.name = name #名字 self.sex = sex #性别 self.aggr = aggressive #攻击力 self.blood = 2000 #血
def attack(self,dog): #类里面所有的方法本质上都是函数,拥有一个必须传递的参数self print('%s attack %s'%(self.name,dog.name)) dog.blood -= self.aggr
class Dog: def __init__(self,name,aggressive=500): self.name = name self.aggr = aggressive self.blood = 8000
def bite(self,person): print('%s bites %s'%(self.name,person.name)) person.blood = person.blood - self.aggr if person.blood <= 0: print('game over : %s'%person.name)
alex = Person('alex','male',250) egon = Person('egon','male') teddy = Dog('Mica') teddy.bite(alex) print(alex.blood) teddy.bite(alex) print(alex.blood)
''' Mica bites alex 1500 Mica bites alex 1000 ''' |
二十. Python基础(20)--面向对象的基础的更多相关文章
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...
- Python基础-week06 面向对象编程基础
一.面向对象编程 1.面向过程 与 面向对象编程 面向过程的程序设计: 核心是 过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式 ...
- Python之class面向对象(基础篇)
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- Python 入门基础20 --面向对象_继承、组合
今日内容 组合:自定义类的对象作为类的属性 继承:父类与子类.多继承 1.组合 将自定义类的对象作为类的属性 class Teacher: def __init__(self, name): self ...
- python之路——面向对象(基础篇)
面向对象编程:类,对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 "类" 和 "对象" 来实现,所以,面向对象编程其实就是对 "类&quo ...
- 用二十秒记住几个PHP基础知识点
数组: 索引数组:数组的键是整数的数组,从0開始. 关联数组:数组的键是字符串的数组 //索引数组 $arr=array('I','love','you'); //关联数组 $arr0=array(' ...
- 大数据笔记(二十四)——Scala面向对象编程实例
===================== Scala语言的面向对象编程 ======================== 一.面向对象的基本概念:把数据和操作数据的方法放到一起,作为一个整体(类 c ...
- 设计模式C++学习笔记之二十(完结篇 & 面向对象原则)设计模式C++实例下载
Prototype(原型模式) 20.1.解释 概念:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. main(),客户 ICloneableNow,只有一个接口Clone CM ...
- Java学习笔记二十九:一个Java面向对象的小练习
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
随机推荐
- python--calc计算器的小程序
x写一个计算器的小程序,正在筹备中......钱不够,演员未定,剧本暂无,请稍等
- 日常英语---十二、MapleStory/Monsters/Level 1-10(Horny Mushroom)
日常英语---十二.MapleStory/Monsters/Level 1-10(Horny Mushroom) 一.总结 一句话总结: horny-['hɔːnɪ]-adj.角的 Another m ...
- (9)进程---JoinableQueue队列
消费者模型-->存和取得过程 和Queue队列区别:解决了Queue队列拿取完,程序阻塞不能自动关闭(依靠放入None来解决)的问题--->参见上个例子 put 存入, get 获取 q. ...
- 雷林鹏分享:使用 CSS 显示 XML
使用 CSS 显示 XML 通过使用 CSS(Cascading Style Sheets 层叠样式表),您可以添加显示信息到 XML 文档中. 使用 CSS 显示您的 XML? 使用 CSS 来格式 ...
- English trip V1 - 12.Belongings 行李 Teacher:Jade Key: ?
In this lesson you will learn to describe your home life and things you own. 在本课中,您将学习如何描述您的家庭生活和您拥有 ...
- Spring Boot之logback日志最佳实践
一.Spring Boot日志介绍 Spring Boot对所有内部日志记录使用了Commons Logging,但是底层日志实现是开放的.为Java Util日志记录.Log4J2和Logback提 ...
- php二分法查找
//二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k) { if ($low <= $high) { $mid = intval( ...
- 如何设置Git SSH密钥
1. SSH 存储在user/用户名/.ssh文件夹下 生成SSH密钥 $ ssh-keygen -t rsa -C "your_email" 2. 查看生成的公钥 $ cat ~ ...
- JS onclick事件获取空间value
1. HTML onclick = btnAction(this.value) 2. JS btnAction(v){ alert(v) }
- php并发
bool flock ( int handle, int operation [, int &wouldblock] );flock() 操作的 handle 必须是一个已经打开的文件指针.o ...