1. 程式人生 > >Python在函式中使用全域性變數的問題

Python在函式中使用全域性變數的問題


在函式中定義的區域性變數如果和全域性變數同名,則它會隱藏該全域性變數。如果想在函式中使用全域性變數,則需要使用global進行宣告。舉例說明如下:

x = 1
def func():
    x = 2
    print x

print x
func()
print x

執行結果為:

1
2
1
x = 1
def func():
    global x
    print x
    x = 2
    print x

print x
func()
print x
執行結果為:
1
1
2
2

相關推薦

Python函式變數函式返回值

1.函式的變數 區域性變數和全域性變數: Python中的任何變數都有特定的作用域 在函式中定義的變數一般只能在該函式內部使用,這些只能在程式的特定部分使用的變數我們稱之為區域性變數 在一個檔案頂部定義的變數可以供檔案中的任何函式呼叫,這些可以為整個程式所使用的變數稱為全域性變數。

python函式使用全域性變數方法:加global

common_words = obama_words.sort('count', ascending=False)['word'][:5] common_words = set(common_words) count = 0 def has_top_words(word_c

python有關函式全域性變數和區域性變數

例一: a = 9 def b(): print(a) 結果打印出來是:9 a 是定義在函式外部的全域性變數,在函式內部可以使用。 例二: a = 4 def b(): a =

python函式使用全域性變數

python在使用全域性變數時需要在函式內部先對變數加一個global s = 0 def test(): global s s +=2 print(s) if __name__ == "__main__": test()

python 函式的區域性變數全域性變數 global

本文轉載自http://blog.csdn.net/mldxs/article/details/8559973 侵刪 當你在函式定義內宣告變數的時候,它們與函式外具有相同名稱的其他變數沒有任何關係,即變數名稱對於函式來說是 區域性 的。這稱為變數的 作用域 。所有變數的

C全域性變數函式宣告的認識

在C中可以定義全域性變數,全域性變數是在程式載入初始化時分配空間並進行初始化。在c程式碼中定義/宣告全域性變數的方式如下 1. int n;     定義或者宣告(如果在其他檔案中已定義)全域性變數。 2. int n = 10;     定義全域性變數並初始化。 3.

JavaScript函式,引數,全域性變數

1. 函式的概念 函式就是重複執行的程式碼片。或者說函式是由事件驅動的或者當它被呼叫時執行的可重複使用的程式碼塊。 2. JavaScript 中的函式語法結構 使用關鍵字 function 定義一個函式 Function 函式的名稱(){ 函式的主體 } 說明: 定

小程式開發過程 全域性變數函式的應用方法

小程式開發過程中,全域性變數、函式的應用能讓你的小程式優化起來更加便捷,到底微信小程式全域性變數怎麼使用呢?本文講解一下啦。 一、全域性函式 小程式開發過程中,不同頁面要用到一些相同的函式,比如時間轉化函式,如果每個頁面都寫這樣一個函式,程式碼繁瑣不說,修改極其不

C# 呼叫 C++ dll 動態連結庫多個函式全域性變數的問題

    最近編寫C#程式呼叫C++語言的演算法庫,自己嘗試在C++中封裝好DLL庫,並在一個工程檔案中同時匯出多個函式供C#呼叫。多個函式之間需要相互通訊,但又不能互相呼叫,,一個很好的方法就是用全域

python全域性變數、區域性變數、類變數、例項變數簡析

因為python為動態語言,處理變數的方式與一些靜態語言(比如C++)不大一樣,在這裡對這些變數進行小小的總結 python中全域性變數與C語言中類似,也就是在的那個單頁面所有函式外頭定義

利用VS2010生成DLL檔案及DLL函式全域性變數的使用

一、首先利用VS2010生成DLL檔案,步驟如下 1、開啟VS2010,在左邊的框欄中選擇C++,中間選擇win32控制檯應用程式,如下圖 2、確認後,彈出下面對話方塊 3、選擇下一步,彈出如

Python函式的*與**

Python函式傳參中的*與** 在為函式呼叫時傳遞引數和函式定義時使用引數的時候,時常會看到有和 *和**,下面分別講解其作用。 函式呼叫時使用*和 ** 假設有函式 def test(a, b, c) test(*args) :* 的作用其實就是把序列args中的每個元素,當作位置引數傳

函式全域性變數前要先宣告(一般不這樣用)

school = "Oldboy edu."def change_name(name): global school #改全域性變數前要先宣告 print('before change',name,school) school = "YunNan University" na

JS 變數函式提升 全域性變數和區域性變數

1. var a = 10; function test() { a = 100; console.log(a); console.log(this.a); var a; console.log(a); } test();//100 10 100 =&

頁面 全域性變數 的更新(ajax也可以對全域性變數 進行更新)

1 2 3 4 5 6 7 8 9 10 11 12 function checkoldpass($pass) {     $.ajax({     &nb

C, C++全域性變數的預設值

來源:http://blog.csdn.net/yanzheshi/article/details/45950275 在GCC編譯器下各個型別的全域性變數的預設值:  1、表示數字的變數型別預設值都為0  2、bool型預設值為false  3、stri

【微信小程式學習之路】----使用globalData函式設定全域性變數

我們在app.js中設定需要的全域性變數的引數,比如公司名稱等 //app.js App({ globalData: { title: 'tomatocc' } }) 然後我們就可以在某個頁面的js檔案中(比如index.js)的data數組裡面去直

JAVA全域性變數

java中的全域性變數是由public修飾的static成員變數,形如public static int ID; java中的全域性變數是放在靜態方法區中的,所有的例項物件會共享同一份全域性變數。所以一旦對某個類例項化後對其中的全域性變數做出修改,那麼其他的例項其中的全域性變數值也相應的會被

Python函式多型別傳值和冗餘引數及函式的遞迴呼叫

1.多型別傳值和冗餘引數 多型別傳值: def fun(x,y): return x +y print fun(3,5) 8 print fun(*t) 3 def fun(x,y,z): return x + y + z t1 = (1,2,3)

python函式的return和print

def func(a,b): res=a+b print(res)#只能看結果,但不能用 def func2(a,b): res=a+b return res #可以用 def get_user(): s='abc,123' username,pass