Module: (Python) 子例程:过程和函数 - 1


Problem

9 /11


局部和全局变量

Theory Click to read/hide

局部变量和全局变量

在主程序中引入的变量称为全局(或共享)。

您可以从任何子例程访问全局变量。 

通常需要引入仅在子程序中使用的附加变量。此类变量称为本地(或本地)。您只能在创建它们的子例程中使用它们。其余例程对它们一无所知。

因此,可以将变量的作用域(scope)限制在真正需要它的子程序中。在编程中,这种技术被称为封装  - 隐藏变量不被外部更改。

分析三个程序: <头> <正文>


 

Problem

编写一个带有 n 参数的程序,输出树冠高度为 n 的圣诞树。 主程序必须包含 值的输入n 变量和过程调用。< br />  
例子
描述 程序
1) 在这个程序中,变量i 是本地的。如果主程序中没有i变量,那么我们会得到一个错误信息。而如果有这样一个变量(那么它就是一个全局变量),那么它的值就会显示在屏幕上。 <前> 定义测试(): 打印(i)
2) 这里即使有全局变量i,也会新建一个局部变量i,值为2,2会出现在屏幕。 <前> 定义测试():  我 = 2 打印(i)
3) 在这个程序中,有一个全局变量i,值为15。它的值可以在子程序内部改变,为此需要显式声明它是全局的(使用命令 global )。
该过程将使用全局变量 i 并将为其分配一个新值 2。显示值 2。
<前> 定义测试():   全球我 我 = 2 # 主程序 我 = 15 打印(i)
<头> <日># <正文>
输入 输出
1 5 <前>     o    哦  呜呜呜  呜呜呜 呜呜呜