python:面向对象之魔法方法

概念:主要是提供一些特殊的功能。

1.__init__方法:

一.不带参数:

python 复制代码
'''python中类似__xx__()
__init__():初始化对象
'''
class Car():
    def __init__(self):
        self.color ='blue'
        self.type ='suv'
    def info(self):
        print(f'车的颜色是:{self.color}')
        print(f'车的类型是是:{self.type}')
myCar=Car()
myCar.info()

运行结果

python 复制代码
车的颜色是:blue
车的类型是是:suv

即__init__()方法会自动为我们自动初始化我们的对象。

二.带参数:

python 复制代码
'''python中类似__xx__()
__init__():初始化对象
'''
class Car():
    def __init__(self,color,type):
        self.color =color
        self.type =type
    def info(self):
        print(f'车的颜色是:{self.color}')
        print(f'车的类型是是:{self.type}')
myCar=Car('blue','suv')
myCar.info()
yourCar=Car('black','su7')
yourCar.info()

运行结果

python 复制代码
车的颜色是:blue
车的类型是是:suv
车的颜色是:black
车的类型是是:su7

即在初始化时可以传入参数。

2.str()方法:

python 复制代码
'''python中类似__xx__()
__str__():打印类信息
'''
class Car():
    def __init__(self,color,type):
        self.color=color
        self.type=type
    # def __str__(self):
    #     return '这是车的类'
myCar=Car('blue','suv')
print(myCar)

运行结果(两次)

python 复制代码
<__main__.Car object at 0x0000017F7B855D30>
这是车的类

即__str__()方法用return输出信息,输出的信息代替了对象内存地址信息。

3.del()方法:

python 复制代码
'''python中类似__xx__()
__del__():当删除对象时,Python解释器会默认调用此方法
'''
class Car():
    def __init__(self):
        self.color='blue'
    def __del__(self):
        print('对象已经删除了')
myCar=Car()

运行结果

python 复制代码
对象已经删除了

即在程序运行结束后Python会释放实例化后的对象同时执行__del__()方法。

相关推荐
Brduino脑机接口技术答疑1 分钟前
脑机接口数据处理连载(六) 脑机接口频域特征提取实战:傅里叶变换与功率谱分析
人工智能·python·算法·机器学习·数据分析·脑机接口
轻竹办公PPT4 分钟前
写开题报告花完精力了,PPT 没法做了。
python·powerpoint
dagouaofei4 分钟前
AI 生成开题报告 PPT 会自动提炼重点吗?
人工智能·python·powerpoint
AAA简单玩转程序设计5 分钟前
Python基础:被低估的"偷懒"技巧,新手必学!
python
kusedexingfu12 分钟前
如何理解python中的闭包
开发语言·python
vv_Ⅸ15 分钟前
打卡day29
python
Laravel技术社区16 分钟前
python3 部署内网离线项目(无网环境)
python
别叫我->学废了->lol在线等17 分钟前
model_validator的mode=“before“
python
高洁0121 分钟前
卷积神经网络(CNN)详细介绍及其原理详解(3)
python·神经网络·机器学习·transformer
liwulin050638 分钟前
【ESP32-CAM】在智能小车中,电机和承重的关系
python