在def
中, 我們可以定義乙個區域性變數, 這個變數a
只能在這個功能fun
中有效, 出了這個功能,a
這個變數就不是那個區域性的a
.
def fun():
a = 10
print(a)
return a+100
print(fun())
"""10
110"""
def fun():
a = 10 # 區域性變數
return a+100
print(a) # 報錯, 不能拿到乙個區域性變數的值
那如何在外部也能呼叫乙個在區域性裡修改了的全域性變數呢. 首先我們在外部定義乙個全域性變數a=none
, 然後再fun()
中宣告 這個a
是來自外部的a
. 宣告方式就是global a
. 然後對這個外部的a
修改後, 修改的效果會被施加到外部的a
上. 所以我們將能看到執行完fun()
,a
的值從none
變成了20
.
# -*- coding:utf-8 -*-
a = none
def fun():
global a # 使用之前在全域性裡定義的 a
a = 20 # 現在的 a 是全域性變數了
return a+100
print('a past:', a) # none
print('fun action',fun())
print('a now:', a) # 20
全域性 區域性變數
一 全域性變數 1.全域性變數 定義在函式外的變數 1 普通全域性變數 int g a 2 靜態全域性變數 static int g a 2.如何引用全域性變數?引用全域性變數加extern 1 extern int g b 2 extern int min int a,int b 二 區域性變數 ...
全域性變數 靜態全域性變數 靜態區域性變數 區域性變數
全域性和靜態變數都在堆裡。這句話應該錯了,應該是放在常量資料段 全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用...
全域性變數 靜態全域性變數 靜態區域性變數 區域性變數
全域性和靜態變數都在堆裡。全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用在定義它的那個檔案裡,卻不能用在程式中...