为什么我的函数不将值返回给全局变量?
问题描述
为什么 print(squared) 返回 0 而不是 100?
我以为从函数返回后-变量squared的值会被赋值给同名的全局变量?
I thought that after being returned from the function - the value of the variable squared would be assigned to the the global variable with the same name?
squared = 0
def square(n):
"""Returns the square of a number."""
squared = n**2
print "%d squared is %d." % (n, squared)
return squared
square(10)
print(squared)
返回:
解决方案
将函数的结果赋值给变量:
Assign the result of the function to the variable:
squared = square(10)
这就是在函数中使用 return squared
的重点,不是吗?
This is the whole point of using return squared
in the function, isn't it?
相关文章