1. 程式人生 > >python中的__str__函式作用

python中的__str__函式作用

__str__方法:
使用:如:
class Car:
    def __init__(self, newWheelNum, newColor):
        self.wheelNum = newWheelNum
        self.color = newColor
    def __str__(self):
        msg = "嘿。。。我的顏色是" + self.color + "我有" + int(self.wheelNum) + "個輪胎..."
        return msg
    def move(self):
        print('車在跑,目標:夏威夷')
BMW = Car(4, "白色")
print(BMW)
     總結:
在python中方法名如果是__xxxx__()的,那麼就有特殊的功能,因此叫做“魔法”方法

當使用print輸出物件的時候,只要自己定義了__str__(self)方法,那麼就會列印從在這個方法中return的資料

class Cat:
    """定義了一個Cat類"""

    #初始化物件
    def __init__(self, new_name, new_age):
        self.name = new_name
        self.age = new_age

    def __str__(self):
        return "%s的年齡是:%d"%(self.name, self.age)

    #方法
    def eat(self):
        print("貓在吃魚....")

    def drink(self):
        print("貓正在喝kele.....")

    def introduce(self):
        print("%s的年齡是:%d"%(self.name, self.age))

#建立一個物件
tom = Cat("湯姆", 40)

lanmao = Cat("藍貓", 10)


print(tom)
print(lanmao)

執行結果:

湯姆的年齡是:40
藍貓的年齡是:10