为什么我的函数不将值返回给全局变量?

2022-01-19 00:00:00 python return variables scope

问题描述

为什么 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?

相关文章