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

2018-05-03  本文已影响0人  扣篮的左手
#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是强类型语言吧。

上一篇 下一篇

猜你喜欢

热点阅读