Python面向对象基础

一、面向对象

1. 定义类

class 类名():
	....

2. 创建对象

对象名 = 类名()

3. self

self 指的是调用该函数的对象

class Washer():
    def wash(self):
        print("在洗衣服")
        print(self)		# <__main__.Washer object at 0x0000027AD526A400>
haier = Washer()
haier.wash()
print(haier)	# <__main__.Washer object at 0x0000027AD526A400>

二、添加和获取对象属性

1. 类外面添加对象属性

对象名.属性名 =
class Washer():
    def wash(self):
        print("在洗衣服")
      
haier = Washer()
haier.width = 400
haier.height = 500

2. 类外面获取对象属性

对象名.属性名
class Washer():
    def wash(self):
        print("在洗衣服")

haier = Washer()
haier.width = 400
haier.height = 500

print(f"洗衣机的宽度是{haier.width}, 高度是{haier.height}")

3. 类里面获取对象属性

self.属性名
class Washer():
    def wash(self):
        print("在洗衣服")
    def print_info(self):
        print(f"获取到宽度{self.width},获取到高度{self.height}")

haier = Washer()
haier.width = 400
haier.height = 500

haier.print_info()

三、魔法方法

在Python中,_ xx _()的函数叫魔法方法,指的是具有特殊功能的函数。

1. _init _()

作用:初始化对象

class Washer():
    def __init__(self):
        self.width = 500
        self.height = 800

    def print_info(self):
        print(f"宽度是{self.width},高度是{self.height}")

wash = Washer()
wash.print_info()

注意:__init __()方法,在创建一个对象时默认被调用,不需要手动调用。
__init __(self)中的self参数,不需要开发者传递,python解释器会自动把当前对象的引用传递过去。

2. 带参数的__init __()

思考:一个类可以创建多个对象,如何对不同对象设置不同的初始化属性呢?

class Washer():
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def print_info(self):
        print(f"宽度是{self.width},高度是{self.height}")

wash = Washer(800, 700)
wash.print_info()

wash1 = Washer(900, 650)
wash1.print_info()

3. __str __()

当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了__str __()方法,那么就会打印从这个方法中return的数据。

class Washer():
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def __str__(self):
        return "这是洗衣机说明书"

wash = Washer(800, 700)
print(wash)

4. __del __()

当删除对象时,python解释器也会默认调用__del __()方法。

class Washer():
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def __del__(self):
        print(f"{self}对象被删除")
wash = Washer(800, 700)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值