你好我有一个奇怪的疑问..
我的代码是
def prints():
print " I WILL DIE HEHE"
def add(a,b):
next = a
print " Added sum is %d " % (next + b)
next = prints()
w = int(raw_input("Give a"))
g = int(raw_input("Give b"))
add(w,g)
现在的问题是为什么函数prints()在我将其分配给next时执行,即next = prints()。我有点困惑。
答案 0 :(得分:6)
因为你在呼唤它,
prints()
将执行
ne = prints
ne()
分配名称,然后调用新名称。
Noteback,我也将其称为ne
,因为next
会影响内置方法
答案 1 :(得分:2)
以下内容:
next = prints()
调用prints()
,并将结果分配给next
。由于prints()
未显式返回任何内容,因此隐式返回None
,因此next
设置为None
。
目前尚不清楚您期望或想要实现的目标,但考虑以下因素可能会有所帮助:
next = prints
这样做是将功能对象分配给next
。它不会调用该函数,但允许将其调用为next()
。