Python学习笔记——面向对象基础

一、理解面向对象

面向对象是一种抽象化的编程思想,很多编程语言中都有的一种思想

总结:面向对象就是将编程当成一个事物,对外界来说,事物是直接使用的,不用去管他的内部情况。而编程就是设置事物能够做什么事。

二、类和对象

在面向对象编程过程中,有两个重要组成部分:类和对象
类和对象的关系:用类去创建一个对象

1、理解类和对象

1.1 类

类是对一系列具有相同特征和行为的事物的统称,是个抽象的概念,不是真实存在的事物。

  • 特征即是属性
  • 行为即是方法

1.2 对象

对象是类创建出来的真实存在的事物,例如:洗衣机

注意:开发中,先有类,再有对象

2、面向对象实现方法

2.1 定义类

  • 语法
class 类名():
    代码
    ......

注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。

2.2 创建对象

对象又名实例

  • 语法
对象名 = 类名()
  • 体验
# 需求:洗衣机,功能:洗衣服


# 1. 定义洗衣机类
class Washer():
    def wash(self):
        print('能洗衣服')


# 2. 创建对象
haier = Washer()

# 3. 验证成果
# 打印haier对象
print(haier)

# 使用wash功能
haier.wash()

四、魔法方法

在python中,__xx__()的函数叫做魔法方法,指的是具有特殊功能的函数

1、__init__()

1.1 体验 __init__()
作用:初始化对象。

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

    def print_info(self):
        print(f'洗衣机的宽度的是{self.width}')
        print(f'洗衣机的高度的是{self.height}')


haier = Washer()
haier.print_info()

注意:

init()方法,在创建一个对象时默认被调用,不需要手动调用

init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

1.2 带参数的__init__()

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

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

    def print_info(self):
        print(f'洗衣机的宽度是{self.width}')
        print(f'洗衣机的高度是{self.height}')


haier = Washer(10, 20)
haier.print_info()


haier1 = Washer(30, 40)
haier1.print_info()

2、str()

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

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

    def __str__(self):
        return '这是海尔洗衣机的说明书'


haier = Washer(10, 20)
# 这是海尔洗衣机的说明书
print(haier)

3、__del__()

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

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

    def __del__(self):
        print(f'{self}对象已经被删除')


haier = Washer()

# <__main__.Washer object at 0x000001CD2E49F748>对象已经被删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值