python和c语言中全局变量的区别

#include <stdio.h>
int n = 100;
void change() {
    n = 10;
}
int main() {
    change();
    printf("%d\n", n);
    return 0;
}

结果n的值为10,全局变量n在调用change函数后发生了改变

n = 100 # 这个n是全局变量
def f():
    n = 10  # 这个n是局部变量
f()
print(n)

结果n的值还是100,未改变
在python当中可以使用global保留字在函数内部使用全局变量。
global用来声明在函数中使用的是全局变量,而不是局部变量。

n = 100
def f():
    global n
    n = 10
f()
print(n)

上边代码输出的n的值是10,使用global声明之后,全局变量n的值就可以修改了。
这样可能是因为python是弱类型语言,而c是强类型语言吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容