return "b"
print("a","end=")运行结果:ab
a ()()第一对括号执行函数a,由于a返回值是函数,所以要继续执行就需要加第二对括号。不加的话就是直接打印a的返回值b这个函数,类似下面这种输出
a<function a.<locals>.b at 0x000001D927140DC0>
因为a()是调用函数a,而a函数的返回值又是一个函数b,所以要调用函数b就要用b(),连起来就是a()()
用个中间值你再看看:
假设xx=a(),这个xx又是一个函数,是函数b,所以要调用函数b,你就要xx() ,连起来就是a()()