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

相关推荐
2401_873204654 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
XW010599919 分钟前
6-函数-1 使用函数求特殊a串数列和
数据结构·python·算法
m0_5698814727 分钟前
使用Python进行网络设备自动配置
jvm·数据库·python
波诺波31 分钟前
项目pid-control-simulation-main 中的 main.py 代码讲解
开发语言·python
巧妹儿1 小时前
Python 配置管理封神技:pydantic_settings+@lru_cache,支持优先级,安全又高效,杜绝重复加载!
开发语言·python·ai·配置管理
独隅1 小时前
Python AI 全面使用指南:从数据基石到智能决策
开发语言·人工智能·python
胡耀超1 小时前
Web Crawling 网络爬虫全景:技术体系、反爬对抗与全链路成本分析
前端·爬虫·python·网络爬虫·数据采集·逆向工程·反爬虫
小陈的进阶之路1 小时前
Selenium元素定位
python·selenium
李昊哲小课1 小时前
matplotlib多子图与复杂布局实战
python·数据分析·matplotlib·数据可视化