新手在python里面对函数 __init__(self)和__srt__,return的理解

class People:

    def __init__(self, name, weight):

        self.name = name
        self.weight = weight
        print("%s 出生了,没有跑步也没有喝东西体重是:%.2f公斤" % (self.name, self.weight))

    def __str__(self):
        return "return我的名字叫:%s 体重是:%.2f公斤" % (self.name, self.weight)

    def run(self):
        self.weight -= 0.5
        print("%s 要跑步了,,跑完步后体重是:%.2f公斤" % (self.name, self.weight))

    def eat(self):
        self.weight += 1
        print("%s 要吃肉了,吃完肉后,体重是:%.2f公斤" % (self.name, self.weight))

print("跑完步后体重减少0.5公斤,吃完肉后体重增加1公斤")

xiaoming = People("小明", 75.0)
xiaomei = People("小美", 45.0)
xiaoming.run()
xiaoming.eat()
print(xiaoming)
xiaomei.run()
print(xiaomei)

输出结果为:
跑完步后体重减少0.5公斤,吃完肉后体重增加1公斤

小明 出生了,没有跑步也没有喝东西体重是:75.00公斤
小美 出生了,没有跑步也没有喝东西体重是:45.00公斤

小明 要跑步了,跑完步后体重是:74.50公斤
小明 要吃肉了,吃完肉后,体重是:75.50公斤
return我的名字叫:小明 体重是:75.50公斤

小美 要跑步了,跑完步后体重是:44.50公斤
return我的名字叫:小美 体重是:44.50公斤

本人是新手,对pyhtone也是一知半解的,我这里是为了自己理解这个函数,自己给自己做个笔记,:(大佬就不要看了)

这里可以明显 的看到一个信息,就是当print()时,输出对象时,phthon会直接调用__srt__这个定义的return返回值进行输出的。。

也可以这样理解,当类中有__srt__这个定义时,是可以直接进行print输出人。

记新手的第一次日记。。

你可能感兴趣的:(新手在python里面对函数 __init__(self)和__srt__,return的理解)