🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# \_\_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__`方法通常返回一个字符串,作为这个对象的描述信息