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

相关推荐
用户8356290780511 分钟前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_4617694014 分钟前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_9669496531 分钟前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿40 分钟前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者1 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin199701080161 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存
布吉岛的石头1 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
第25小时记录1 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·python
Dmz丶1 小时前
前端转 AI 100 天 Day 18:pytest 入门——为什么你必须要写测试
python
用户019027581612 小时前
如何用 Python 计算 DMA 平行线差指标?
python