辽宁seo站内优化,做同城购物网站有什么优势吗,网站域名设计,理财网站模板Python中global关键字主要作用是声明变量的作用域。
在C语言中#xff0c;由于变量一定是先声明#xff0c;后使用#xff0c;所以我们可以清楚的知道#xff0c;现在使用的变量是全局还是局部#xff0c;比如#xff1a;
int a 5;
void test(void)
{
a 1; // 没有先声…Python中global关键字主要作用是声明变量的作用域。
在C语言中由于变量一定是先声明后使用所以我们可以清楚的知道现在使用的变量是全局还是局部比如
int a 5;
void test(void)
{
a 1; // 没有先声明所以用的是全局的变量a
}
void test1(void)
{
int a;
a 2; // 前面声明了所以用的是局部变量a对其所做的修改不会影响全局变量a
}
void main(void)
{
printf(before: a %d\n, a);
test();
printf(after test: a %d\n, a);
test1();
printf(after test1: a %d\n, a);
}
在python中变量不需要先声明直接使用即可那我们怎么知道用的是局部变量还是全局变量呢
首先python使用的变量在默认情况下一定是用局部变量。
其次python如果想使用作用域之外的全局变量则需要加global前缀。
举例说明不用global的情况
a 5
def test():
a 1
print In test func: a %d % a
test()
print Global a %d % a
程序执行结果为
In test func: a 1
Global a 5
可以看出不加global的时候在函数内部是改不了外面的全局变量的list类型例外。
下面是使用global前缀的情况
a 5
def test():
global a
#此处声明告诉执行引擎我要用全局变量a不要整成局部的了
a 1
print In test func: a %d % a
test()
print Global a %d % a
执行结果
In test func: a 1
Global a 1
可以看出在函数内部成功的修改了全局变量的数值。
事实上网络上很多文章推崇另外的一种方法来使用全局变量使用单独的global文件。
方法如下
1. 在同一个文件夹下新建2个文件: myglobal.py test.py
2. myglobal.py中放置全局变量内容示例如下
a 0
b 1
c 2
d 3
3. test.py中是测试代码其中可以使用全局变量
import myglobal
def test():
myglobal.a 100
print myglobal a %d % myglobal.a
test()
print after test, myglobal a %d % myglobal.a
执行test.py的结果如下
myglobal a 0
after test, myglobal a 100
OK同样成功修改了全局变量这个说法不准确但姑且就这么叫吧。
在实际使用中两种方法各有优势通常我们大多数时候只是用python写小功能的脚本此时用global关键字就够了。
如果写比较大的功能应用时用后一种方法可以使得全局变量的管理更为方便。
--------------------------------------分割线 --------------------------------------
Python 的详细介绍请点这里
Python 的下载地址请点这里