python是面向对象开发_Python之面向对象
面向对象程序设计思路
一、面向对象之 对象分析#面向对象的核心设计:就是对象,一切围绕对象之间的交互。 OOA
0、需求分析 框定程序的功能范围
1、找到程序中涉及到的对象---------->找对象
-------------------------------------------------------------------------------------------------------------------------------------------------------------
二、面向对象设计 OOD
2、对象分类:从一堆对象中分类。--------------------->对象分类,就找出了程序中的类
3、找各类对象的共同的特征与技能(公共属性),各类对象独有的特征和技能(def __init__(self)) -----------找出类的共有特征、方法,和私有特征、方法
------------------=------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、面向对象编程 OOP
4、先定义类
4、实例化出对象
5、对象之间的交互得到结果
三:代码
classStudens:
country='中国'school='老男孩'
def __init__(self,cla, teacher,name,age):
self.cla=cla
self.teacher=teacher
self.name=name
self.age=agedefseach_teacher (self):print("%s的老师%s"%(self.name,self.teacher))defstudy(self):print("%s正在学习 %s" %(self.name,self.cla))
s1=Studens('python','egon','张根','24')
s1.seach_teacher()
s1.study()classTecher:
company='oldboy'job='teacher'hobby='woman'
def __init__(self,name,age,teach):
self.name=name
self.age=age
self.teach=teachdefteaching(self):print('%s在教%s' %(self.name,self.teach))defseach (self):print('他工作在:%s,目前工作:%s 爱好:%s'%(self.company,self.job,self.hobby))
t1=Techer('alex',35,'python')
t1.teaching()
t1.seach()
t2=Techer('egon',45,'linux')
t2.teaching()
t2.seach()
执行结果
张根的老师egon
张根正在学习 python
alex在教python
他工作在:oldboy,目前工作:teacher 爱好:woman
egon在教linux
他工作在:oldboy,目前工作:teacher 爱好:woman
四、对象之间的交互 (对象之间使用方法(函数属性)相互调用,使对方的属性(变量属性)发生变化)
class Ch: #定义楚汉类
def __init__(self,country,name,arms,attack,mount,life):
self.country=country #国家
self.name=name #姓名
self.arms=arms #拿的武器
self.attack=attack #攻击值
self.mount=mount #坐骑
self.life=life #生命值
defatt(self,enemy):
enemy.life-=self.attackprint("%s杀%s %s 人马 %s 还剩 %s 人马 !"%( self.name,enemy.name,self.attack,enemy.name,enemy.life))if enemy.life<=0:print("%s 把 %s 砍死于 %s 之下!"%(self.name,enemy.name,self.mount ))
l=Ch('汉','刘邦','小剑',300,'汗血宝马',1000) #实例化出刘邦
x=Ch('楚','项羽','长刀',300,'赤兔马',1000) #实例化出项羽
l.att(x)#刘邦 用攻击方法 讲项羽对象 当做参数传进去,使刘邦对象的 属性发生变化; =====刘邦攻击项羽 对象之间的交互
l.att(x)
l.att(x)
l.att(x)
x.att(l)#项羽 用攻击方法 将 刘邦对象 当做参数传进去,使刘邦对象 的属性发生变化; =====项羽攻击刘邦 对象之间的交互
x.att(l)
x.att(l)
x.att(l)
执行结果
刘邦杀项羽300 人马 项羽 还剩 700人马 !
刘邦杀项羽300 人马 项羽 还剩 400人马 !
刘邦杀项羽300 人马 项羽 还剩 100人马 !
刘邦杀项羽300 人马 项羽 还剩 -200人马 !
刘邦 把 项羽 砍死于 汗血宝马 之下!
项羽杀刘邦300 人马 刘邦 还剩 700人马 !
项羽杀刘邦300 人马 刘邦 还剩 400人马 !
项羽杀刘邦300 人马 刘邦 还剩 100人马 !
项羽杀刘邦300 人马 刘邦 还剩 -200人马 !
项羽 把 刘邦 砍死于 赤兔马 之下!
python是面向对象开发_Python之面向对象相关推荐
- 阿里云【名师课堂】Java面向对象开发2:面向对象简介
阿里云[名师课堂]Java面向对象开发2:面向对象简介 编程语言发展阶段 编程语言发展阶段 面向机器语言:汇编语言 面向过程语言:C语言.FORTRAN等 面向对象语言:Java等 面向过程的核心是编 ...
- python装饰器和异常处理_装饰器异常处理-面向对象编程-Python教程自动化开发_Python视频教程...
课程目标:使学员掌握python基础教程知识,能够开发常用的PYTHON脚本 课程特色:实战,细致,生动,深入浅出 适用人群:适合PYTHON初学者 课程详情:该Python视频教程从0基础开始讲解P ...
- Python全栈开发,Day7 - 面向对象学习
本章内容 面向对象编程介绍 面向对象开发 面向对象的特性 一.面向对象编程介绍 介绍之前,先说一个例子: 你的老板要你做一款枪战游戏,游戏里面有很多的角色,比如CF里面的潜伏者和保卫者,在游戏里还有很 ...
- python 黑客工具开发_python黑客软件的搜索结果-阿里云开发者社区
带你读<Python科学计算(原书第2版)>之一:导论 计算机科学丛书点击查看第二章点击查看第三章Python科学计算(原书第2版)Python for Scientists, Secon ...
- python音视频开发_Python音视频开发:消除抖音短视频Logo的图形化工具实现
一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现消除视频Logo的四种方法,并提供了详细的 ...
- python面向对象学习_Python 初识面向对象#学习猿地
> 面向对象编程--Object Oriented Programming,简称`OOP`,是一种**以对象为中心**的程序设计思想. > > 面向过程编程--Procedure O ...
- python基础程序设计与面向对象程序设计_python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- python对象可分为什么_Python是面向对象的编程语言,而对象拥有各种特性、功能,专业术语称之为____...
[综合练习]I took advice on the matter. [单选题]在使用仿制图章工具去除瑕疵时,需结合( )键,才能完成样本的取样. [综合练习]Only a very slight a ...
- python怎么定义名称_python 之 面向对象基础(定义类、创建对象,名称空间)
第七章面向对象 1.面向过程编程核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流 ...
最新文章
- Android SQLite调试
- springboot 接受数组对象_SpringBoot+RabbitMQ 方式收发消息
- python raise valueerror_请教:Python多进程编程时出现raise ValueError(Pool not running) 为什么?。...
- 网站title实现切换
- 50 【Go版本变化】
- 2020 版 Python 数据清理终极指南!
- JS 获取元素当前的样式信息
- 专科学院计算机专业全国排名,2019年专科专业排行_2019世界大学排名 计算机专业...
- 凸优化第四章凸优化问题 4.3 线性规划问题
- 千万数据,如何快速商品分页
- win11电脑摄像头打不开,如下图
- 京东金融App崩溃治理实践
- java在regedit找不到_Windows找不到文件regedit打不开注册表的解决办法
- slf4j日志门面担当
- 云计算销售和传统销售有什么区别
- 微带线等效电感仿真与设计
- 微信群裂变引流文案技巧,这样写文案更吸引粉丝!
- 35 | 前端安全:如何打造一个可信的前端环境?
- 【设计模式】备忘录模式(以电影明日边缘为例)
- 人工神经网络 :模糊神经网络