您当前的位置:首页 > 计算机 > 编程开发 > Python

python——面向对象

时间:01-16来源:作者:点击数:

面向对象、类(类名、属性、方法)、创建对象、调用方法、

定义一个类(class):

  1、类名 大驼峰命名规则---首字母大写

  2、属性 类包含的属性

  3、方法 类的方法

eg: class Cat : # 定义一个Cat类

    def eat (self): # class类中创建一个eat的方法

      pass

    def __init__(self,name,age): # 创建一个默认方法__init__        类的属性可以供所有对象使用

      self.name = name # 属性name的值是name

      self.age = age # 属性age的值是age

  c = Cat () # 创建对象c

  d = Cat('张三',18) # 创建对象d,并传入参数name和age,默认调用类中__init__方法

  d.name # 可以使用类的name属性 张三

  d.age# 可以使用类的age属性 18

  c.eat() # 调用Cat类中的eat方法  

 # c.address = '中国' # 为c动态绑定一个address属性       对象c独有的属性

案例:

class HouseItem:  # 定义一个家具类
    # 家具属性
    def __init__(self, name, area):
        self.name = name
        self.area = area

    def __str__(self):   # 此方法适用print()打印
        return f'家具名字{self.name} , 占地面积为{self.area}平米'


# 创建家具对象
bed = HouseItem('席梦思', 4)
chest = HouseItem('衣柜', 2)
table = HouseItem('餐桌', 1.5)


class House:  # 定义一个房子类
    # 房子的属性
    def __init__(self, name, total_area, free_area):
        self.name = name  # 户型
        self.total_area = total_area  # 总面积
        self.free_area = free_area  # 剩余面积
        self.item_list = []  # 家具列表,开始为空

    def __str__(self):
        return f'户型是{self.name}---总面积是{self.total_area}平米---' \
               f'剩余面积是{self.free_area}平米---家具列表为{self.item_list}'

    # 房子添加家具的方法
    def add_item(self, item):  # item 家具对象参数
        # 判断房子的剩余面积与家具的占地面积关系
        if self.free_area > item.area:
            # 向家具列表中添加家具 ---向列表中添加数据  append()
            self.item_list.append(item.name)
            # 修改剩余面积
            self.free_area -= item.area  # 当前剩余面积-添加家具的占地面积
        else:
            print('剩余面积不足')


# 创建房子对象
house = House('两室一厅', 100, 100)
# # 添加床
house.add_item(bed)  # 这里的bed 对应 add_item()中的item参数
# 添加衣柜
house.add_item(chest)
# 添加餐桌
house.add_item(table)
print(house)

户型是两室一厅---总面积是100平米---剩余面积是92.5平米---家具列表为['席梦思', '衣柜', '餐桌']
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门