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
  实例化
  实例、对象
  对象查看属性
  对象调用方法

猜你喜欢

转载自www.cnblogs.com/ysging/p/10231196.html