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

相关推荐
360安全应急响应中心12 分钟前
Python代码保护之重置操作码映射的攻与防探究(一)
python·逆向
码界奇点35 分钟前
Python内置函数全解析:30个核心函数语法、案例与最佳实践指南
linux·服务器·python
dreams_dream1 小时前
django错误记录
后端·python·django
MC皮蛋侠客1 小时前
使用Python实现DLT645-2007智能电表协议
python·网络协议·tcp/ip·能源
中等生2 小时前
Python 的循环引入问题
python
站大爷IP3 小时前
Python字符串全解析:从基础操作到高级技巧
python
中等生3 小时前
FastAPI vs Flask 性能对比:异步的真正优势在哪里?
python
DFT计算杂谈3 小时前
EPWpy教程:一个脚本完成能带、声子、电声耦合、弛豫时间计算
python
hui函数3 小时前
Flask蓝图:模块化开发的利器
后端·python·flask
跟橙姐学代码3 小时前
Python 装饰器超详细讲解:从“看不懂”到“会使用”,一篇吃透
前端·python·ipython