一、先看看例子输出
例一:
def run(b):
print("你好")
return b
if __name__ == '__main__':
a1 = run('nihao')
a2 = run
print(a1) # 带括号
print(a2) # 不带括号
结果:
例二:
def run(b):
print("你好")
if __name__ == '__main__':
a1 = run('nihao')
a2 = run
print(a1) # 带括号
print(a2) # 不带括号
结果:
由两个例一和例二你看出了什么不同没有,告诉你就是例一有返回值(return b),而例二没有返回值;那你看看他们各自结果输出了什么,例一:nihao,例二:None;这样你懂了吧!
由此可见,带括号的方法要等return 返回,然后才有结果,而不带括号的方法则不需要,他返回的就是一个方法的地址空间。
下一篇我们就讲讲带括号和不带括号在python多线程中的区别吧!