首页 > 解决方案 > 为什么python首先打印出类方法?

问题描述

我已经编写了如下示例代码。我想知道为什么该方法首先打印出来,即使它在较低的行...

class Dog():
    species = "Mammals"
    legs = 4
    def __init__ (self,breed, name, spots, height):
        self.breed = breed
        self.name = name
        self.spots = spots
        self.height = height

    def bark(self,number):
        for i in range(number):
            print("My name is {}".format(self.name))

MyDog = Dog(breed = "Huskie", name = "MyDog", spots = True, height = "Tall")

print(MyDog.species,MyDog.legs,MyDog.breed,MyDog.name,MyDog.spots,MyDog.bark(3),MyDog.height,sep="\n")

标签: pythonclassmethods

解决方案


print就像其他函数一样,Python 会在调用该函数之前评估函数的所有参数。否则,该函数将不知道其参数的值,也不知道该做什么。所以MyDog.bark(3)必须在可以调用之前进行评估print(..., MyDog.bark(3), ...)


推荐阅读