python - 为什么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")
解决方案
print
就像其他函数一样,Python 会在调用该函数之前评估函数的所有参数。否则,该函数将不知道其参数的值,也不知道该做什么。所以MyDog.bark(3)
必须在可以调用之前进行评估print(..., MyDog.bark(3), ...)
。
推荐阅读
- javascript - 执行的检查不会更新问题标签
- wordpress - 什么是 Wordpress 插件或其他方式将滑块的缩略图替换为图像标题
- sql - 使用 COUNT 编写 SQL 查询时遇到问题
- 4d-database - HTTP Get 命令在 (GSM/WCDMA) 加密狗网络中不起作用。执行时给出 HTTP 服务器无法访问的错误
- keras - 为什么我的 keras-contrib 的 crf.accuracy 提升如此之快?
- jmeter - 如何在 JMeter 中的间隔后暂停特定线程?
- google-analytics - Google analitycs 在开发过程中实时查看结果
- jmeter - jmeter中用于选定选项的正则表达式提取器
- c# - 尝试查找类是否在帧之间发生更改的问题
- android - Android 数据绑定问题:无法反转表达式 XXX