python系统关键字_Python基础教程 - global关键字及全局变量的用法
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 的下載地址:請點這里
總結
以上是生活随笔為你收集整理的python系统关键字_Python基础教程 - global关键字及全局变量的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab rgb2hsv v=1,为
- 下一篇: pythonista脚本合集_GitHu