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__()方法。

相关推荐
青少儿编程课堂10 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析
c++·python·算法·bfs·信息学竞赛
全栈练习生32 分钟前
大模型原理之自适应推理
python·ai
实名上网宋凯宣9 小时前
Django
后端·python·django
如若12310 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
砚底藏山河12 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新12 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员12 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
Ramble_Naylor14 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
Allen_LVyingbo15 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
云和数据.ChenGuang15 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes