python魔法方法str_8.9.魔法方法 - str()方法

# \_\_str\_\_()方法

~~~

class Car(object):

"""定义了一个车类,可以启动和炸街"""

def __init__(self, name, max_speed, vehicle_length):

""" __init__() 方法,用来做变量初始化 或 赋值 操作"""

self.name = name # 车名

self.max_speed = max_speed # 最高时速

self.vehicle_length = vehicle_length # 车长

def start(self):

"""实例方法"""

print("正在启动")

def fried_street(self):

"""实例方法"""

print("开始炸街")

def info(self):

"""在类的实例方法中,通过self获取该对象的属性"""

print("本车名为:{} 最高时速:{} km/h".format(self.name, self.max_speed))

print("本车名为:{} 车长:{} mm".format(self.name, self.vehicle_length))

def __str__(self):

return "调用__str__方法 > 本车名为:{} 车长:{} mm".format(self.name, self.vehicle_length)

# 实例化保时捷911对象时,参数会传递到对象的__init__()方法里

porsche_911 = Car('保时捷911', 340, 4519)

jeep = Car('牧马人', 200, 5000)

# 如果没有__str__ 则默认打印 对象在内存的地址。

# 当类的实例化对象 拥有 __str__ 方法后,那么打印对象则打印 __str__ 的返回值

print(porsche_911)

print(jeep)

# 查看类的文档说明,也就是类的注释

print(Car.__doc__)

~~~

#### 说明:

* 在python中方法名如果是`__xxxx__()`的,那么就有特殊的功能,因此叫做“魔法”方法

* 当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了`__str__(self)`方法,那么就会打印从在这个方法中`return`的数据

* `__str__`方法通常返回一个字符串,作为这个对象的描述信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值