面向对象和类
2019-07-26 21:19
49 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Mr_Lee9/article/details/97419327
面向对象和类
定义一个类:
class Student(): name="" def study(self): print(self.name,"学习去") def eat(self): print(self.name,"吃饭去") lee=Student() lee.name='lee' lee.study() lee.eat()
输出结果为:
__init__方法
class Student(): def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def show(self): print("我叫{}年龄{}性别{}".format(self.name,self.age,self.sex)) zs=Student("张三",18,"男") zs.show()
输出结果为:
__str__方法
class Dog(): def __init__(self,color,age): self.color=color self.age=age def __str__(self): # 魔术方法 return "颜色%s 年龄%d"%(self.color,self.age) d=Dog("红色",18) x=str(d) print(x,type(x))
输出结果为:
计算圆的周长和面积:
from math import pi class Circle(): def __init__(self,r): self.r=r def mj(self): return pi*self.r*self.r def zc(self): return 2*pi*self.r def __str__(self): return "圆的半径是%.2f,周长是%.2f,面积是%.2f"%(self.r,self.zc(),self.mj()) a=Circle(5) print(a)
输出结果为:
烤羊串练习:
heep(): def __init__(self): self.cooktime=0 self.status="生的" def cook(self,cook_time): self.cooktime+=cook_time if self.cooktime<2: self.status="生的" elif self.cooktime<4: self.status="半熟" elif self.cooktime<6: self.status="熟的" else: self.status="焦的" def __str__(self): return "烤了%d个小时,状态%s"%(self.cooktime,self.status) s=Sheep() s.cook(2) print(s) s.cook(3) print(s)
输出结果为:
诸葛亮大战曹操练习
Person(): def __init__(self,name,attack,hp): self.name=name self.attack=attack self.hp=hp self.zs=0 def start_attack(self,obj): obj.hp-=self.attack obj.zs=self.attack def __str__(self): return "{},还剩{}滴血,受到了{}点攻击,攻击力:{}".format(self.name,self.hp,self.zs,self.attack) class NPC(): def __init__(self,name,attack,hp): self.name=name self.attack=attack self.hp=hp self.zs=0 def start_attack(self,obj): obj.hp-=self.attack obj.zs=self.attack def __str__(self): return "{},还剩{}滴血,受到了{}点攻击,攻击力:{}".format(self.name,self.hp,self.zs,self.attack) r=Person("诸葛亮",30,100) c=NPC("曹操",20,200) r.start_attack(c) c.start_attack(r) print(c) print(r)
输出结果为:
买家具练习:
ouse(): def __init__(self,info,area,address): self.info=info self.area=area self.address=address self.jiaju=[] def add_jiaju(self,obj): self.area-=obj.area self.jiaju.append(obj.name) def __str__(self): jiaju="" for i in self.jiaju: jiaju+=i+"," return "房子是{},面积是{},地址是{},家具有{}".format(self.info,self.area,self.address,jiaju) class Jiaju(): def __init__(self,name,area): self.name=name self.area=area room=House("三室一厅",130,"北京10环") jiaju=Jiaju("床",6) room.add_jiaju(jiaju) print(room) jiaju=Jiaju("冰箱",3) room.add_jiaju(jiaju) print(room)
输出结果为:
相关文章推荐
- 黑马程序员——Java要点笔记——面向对象(五)
- (09)Java学习笔记——面向对象03——单例设计模式
- 使用C语言进行面向对象的开发--GObject入门[1]
- 我看面向对象
- 从编译原理的角度理解面向对象----0
- 面向对象三大特征之一封装性
- 面向对象的分析和设计(OOAD)
- 连载:面向对象葵花宝典:思想、技巧与实践(5) - 面向对象迷思:面向对象导致性能下降?
- js面向对象的编程理解
- 六、浅记java面向对象
- JavaScript面向对象------继承
- 高级js--(面向对象js,arguments,闭包,自调)
- day04--面向对象--内部类
- java基础之面向对象
- 面向对象
- 面向对象的特征
- 【PHP面向对象(OOP)编程入门教程】如何去使用对象中的成员
- [黑马程序员](第6-9天)面向对象(上)
- 面向对象的问题
- 面向对象的三大特性