千纸鹤

  博客园  ::  :: 新随笔  ::  ::  :: 管理

《0036》第三章 Python编程进阶:面向对象1

a.面向对象概念:

  简称OOP,由面向过程演变过来的,是早期的编程概念,面向对象优势多。

面向过程:以若干个步骤去实现的
面向对象:以若干个对象去实现的

b.游戏中设计几个猫的角色:类属性(白猫,4条腿,10kg) 和 类方法(会吃鱼,会抓鼠)

class Cat:
  cat_color='白猫'
  cat_foot='4条腿'
  cat_weight=10

  def eat(self):
    print('小猫爱吃鱼')
  def catch(self):
    print('小猫会抓鼠')

tom=Cat()
tom.eat()
tom.catch()
print(tom.cat_color)
print(tom.cat_foot)

print('*'*20)

jack=Cat()
jack.eat()
jack.catch()
print(jack.cat_color)
print(jack.cat_foot)

输出结果:

小猫爱吃鱼
小猫会抓鼠
白猫
4条腿
********************
小猫爱吃鱼
小猫会抓鼠
白猫
4条腿

c.__init__初始化函数 作用 只要创建类对象的时候,就会执行这个init

class Cat:
  def __init__(self,color,foot,name):
    self.color=color
    self.foot=foot
    self.name=name

  def eat(self):
    print(f'{self.name},{self.color}小猫爱吃鱼')
    self.catch()

  def catch(self):
    print('小猫会抓鼠')

tom=Cat('红色',4,'银渐层')
tom.eat()

print('*'*20)

ja=Cat('黑色',4,'波斯猫')
ja.eat()

输出结果:

银渐层,红色小猫爱吃鱼
小猫会抓鼠
********************
波斯猫,黑色小猫爱吃鱼
小猫会抓鼠

d.内置对象(了解)

init函数 作用:创建对象时自动调用init函数
str函数 作用:返回对象的描述信息
del函数 作用:销毁对象前自动调用del函数

class Cat:
  def __init__(self,new_name):
    self.name=new_name
    print('init:%s小猫来了'%self.name)
  def __del__(self):
    print('del:%s小猫走了'%self.name)
  def __str__(self):
    return '我是小猫%s'%self.name

tom=Cat('Tom')
print(tom.name)
del tom
# tom=Cat('Jack')
# print(tom)

输出结果:
init:Tom小猫来了
Tom
del:Tom小猫走了
posted on 2022-04-21 11:21  运维2005  阅读(41)  评论(0)    收藏  举报