【Python】类和对象

一、面向对象实现方法

  • 语法
#定义类
class 类名():
    代码
    ......
#创建对象
对象名 = 类名()
#调用类方法
对象名.方法名()
  • 体验
class object():
    def function1(self):
        print('这是一个类。')

obj = object()
obj.function1()
#这是一个类。

二、添加和获取对象属性

1、类外面添加对象属性

  • 语法:对象名.属性名 = 值
haier.width = 500
haier.heigh = 400

2、类外面获取对象属性

  • 语法:对象名.属性名 
print(f'haier洗衣机的宽度是{haier.width}')
print(f'haier洗衣机的长度是{haier.heigh}')

3、类里面获取对象属性

  • 语法:self.属性名
class Washer():
    def function(self):
        print(f'洗衣机的宽度是{self.width},洗衣机的长度是{self.heigh}')
haier = Washer()
haier.width = 500
haier.heigh = 400

三、魔法方法

  • __init__():用来初始化对象。
class Washer():
    def __init__(self):
        self.width = 500
        self.heigh = 400
    def function(self):
        print(f'洗衣机的宽度是{self.width},洗衣机的长度是{self.heigh}')
  • 带参__init__()
class Washer():
    def __init__(self, width, heigh):
        self.width = width
        self.heigh = heigh
    def function(self):
        print(f'洗衣机的宽度是{self.width},洗衣机的长度是{self.heigh}')

haier1 = Washer(400, 500)
haier1.function()
  • __str__():当使用print()打印对象的时候,默认会打印对象的内存地址。如果定义了该方法,那么就会打印这个方法return的数据。
class Washer():
    def __str__(self):
        return '这是对象Washer。'
haier = Washer()
print(haier)
  • __del__():当删除对象时,Python会默认调用该方法。
class Washer():
    def __del__(self):
        return '这是对象已经删除'

haier = Washer()
print(haier)

四、应用案例

  • 搬家具
#设置家具
class Furniture():
    def __init__(self, name, area):
        self.name = name
        self.area = area

class Home():
    def __init__(self, address, area):
        self.address = address
        self.area = area
        self.free_area = area
        self.furniture = []
    
    #打印对象信息
    def __str__(self):
        return f'房屋地理位置在{self.address}, 房屋面积是{self.area}, 剩余面积{self.free_area}, 家具有{self.furniture}'

    #添加家具
    def add_furniture(self, item):
        if self.free_area >= item.area:
            self.furniture.append(item.name)
            self.free_area -= item.area
        else:
            print('家具太大,剩余面积不足,无法容纳')

jia1 = Home('北京', 300)
bed = Furniture('双人床', 6)
sofa = Furniture('沙发', 10)

jia1.add_furniture(bed)
jia1.add_furniture(sofa)

print(jia1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SamRol

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值