函数中的变量在函数以外可用吗?

错误的。
复合语句中定义的变量仅在复合语句内有效。
如果没有复合语句,它就无法工作。
全局变量在函数外部定义,并且在程序结束之前一直有效。
局部变量在函数内部定义,在函数外部不可用。
复合语句中的局部变量更加特殊,并且仅在该语句块中使用。
你自己看看吧。

全局变量、局部变量和静态变量

全局变量在函数外部定义,并且在整个程序中可用。
局部变量在函数内定义,并在函数退出时消失。
静态变量添加静态,本地使用维护状态,全局使用出现在文件中。

计数函数使用静态局部变量来维护调用次数。
对多个文件使用静态全局变量,并且不要全局公开它们。
C/C++ 支持这两种静态变量。

Java有静态成员,只能在类级别定义。
Go 没有静态功能,而是使用包级变量。
Python没有静态控件,它使用全局和局部控件。

全局变量容易发生随机变化,导致代码难以维护。
局部变量被正确封装且安全。
静态本地状态得到维护,内存可供多次调用使用。
静态全局文件是私有的,不会污染全局世界。

自己掂量一下。

变量定义在函数内部还是函数之外?

你说的基本上是正确的。

我上周读了那本 Python 书。
定义变量分为三种情况。

1 .在函数的开头定义。
2 . 在函数中的复合语句中定义它。
3 . 在函数外部定义。

在函数中定义的变量。
仅在该函数范围内有效。

例如,2 02 3 年 1 0 月 1 日。
我正在编写一个测试函数。
在测试函数的开头定义变量 x。

所以这个x. 只能在测试功能中使用。

测试函数之外。
您不能直接使用 x。

复合语句中定义的变量。
仅在此复合声明的范围内有效。

例如在测试函数中。
这是一个 if 语句。
在 if 语句中定义变量 y。

所以这个y。
只能用在 if 语句中。
if 语句已经出来了。
您不能直接使用 y。

这些称为局部变量。

程序的编译单位是源程序文件。
一个源文件可以包含一个或多个函数。

函数中定义的变量。
是一个局部变量。

在函数外部定义的变量。
称为外部变量。
外部变量是全局变量。

全局变量。
可能被该文件中的其他函数共享。

有效区域。
从定义变量的地方开始。
到源文件的末尾。

这取决于你。