day 22 - 2 面向对象练习
练习一
在终端输出如下信息
小明,10岁,男,上山去砍柴
小明,10岁,男,开车去东北
小明,10岁,男,最爱大保健
老李,90岁,男,上山去砍柴
老李,90岁,男,开车去东北
老李,90岁,男,最爱大保健
老张…
class Person: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex def shangshan(self): print('%s,%s 岁,%s ,上山去砍柴'%(self.name,self.age,self.sex)) def kaiche(self): print('%s,%s 岁,%s ,开车去东北'%(self.name,self.age,self.sex)) def live(self): print('%s,%s 岁,%s ,最爱大保健'%(self.name,self.age,self.sex)) xm = Person('小明',10,'男') ll = Person('老李',90,'男') xm.shangshan() xm.kaiche() xm.live() ll.shangshan() ll.kaiche() ll.live()
非常明显的处理一类事物,这些事物都具有相似的属性和功能
当有几个函数 需要反反复复传入相同的参数的时候,就可以考虑面向对象
这些参数都是对象的属性
练习二
circle 属性 半径 ,两个方法:求周长和面积
周长:2 pi r
面积:pi r**2
from math import pi class Yuan(): def __init__(self,r): self.r = r def zc(self): return 2*pi*self.r def mj(self): return pi*self.r**2 qiu = Yuan(5) print(qiu.zc()) print(qiu.mj())
流程
定义类
init 方法
self 是什么 self拥有属性都属于对象
类中可以定义静态属性
类中可以定义方法,方法都有一个必须传的参数 self
实例化
实例、对象
对象查看属性
对象调用方法