<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
全域性變數是那些沒有在任何函數內部定義並具有全域性範圍的變數,而區域性變數是那些在函數內部定義的變數,其範圍僅限於該函數。換句話說,我們可以說區域性變數只能在初始化它的函數內部存取,而全域性變數在整個程式和每個函數內部都可以存取。區域性變數是那些在函數內部初始化並且僅屬於該特定函數的變數。它不能在函數之外的任何地方存取。讓我們看看如何建立一個區域性變數。
範例: 建立區域性變數
def f(): # local variable s = "I love python" print(s) # 驅動程式程式碼 f()
輸出:
I love python
如果我們嘗試在函數外部使用這個區域性變數,那麼讓我們看看會發生什麼。
例子:
def f(): # local variable s = "I love python" print("Inside Function:", s) # 驅動程式程式碼 f() print(s)
輸出:
NameError: name 's' is not defined
這些是在任何函數之外定義的並且可以在整個程式中存取的那些,即在每個函數的內部和外部。讓我們看看如何建立一個全域性變數。
範例: 定義和存取全域性變數
# This function uses global variable s def f(): print("Inside Function", s) # Global scope s = "I love python" f() print("Outside Function", s)
輸出:
Inside Function I love python
Outside Function I love python
變數 s 被定義為全域性變數,既可以在函數內部使用,也可以在函數外部使用。
注意: 由於沒有區域性變數,因此將使用全域性變數的值,但請確保區域性變數和全域性變數應具有相同的名稱。
現在,如果有一個同名的變數在函數內部以及全域性初始化怎麼辦。現在問題來了,區域性變數是否會對全域性變數產生一些影響,反之亦然,如果我們在函數 f() 中更改變數的值會發生什麼?它也會影響全域性變數嗎?我們在下面的程式碼中對其進行測試:
# 該函數有一個名稱與 s 相同的變數。 def f(): s = "Me too." print(s) # 全域性範圍 s = "I love python" f() print(s)
輸出:
Me too.
I love python
如果在函數範圍內也定義了具有相同名稱的變數,那麼它將僅列印函數內部給出的值,而不是全域性值。
問題是,如果我們嘗試更改函數內部的全域性變數的值會怎樣。讓我們用下面的例子來看看。
例子:
# 該函數使用全域性變數 s def f(): s += 'GFG' print("Inside Function", s) # Global scope s = "I love python" f()
輸出:
UnboundLocalError: local variable 's' referenced before assignment
為了使上述程式正常工作,我們需要使用“global”關鍵字。讓我們看看這個全域性關鍵字是什麼。
如果我們想要進行賦值或更改全域性變數,我們只需要在函數中使用global 關鍵字。 列印和存取不需要全域性。由於在 f() 中對 s 的賦值,Python“假設”我們需要一個區域性變數,因此第一條語句會丟擲錯誤訊息。如果沒有將其宣告為全域性變數,則在函數內部更改或建立的任何變數都是區域性變數。要告訴 Python,我們要使用全域性變數,我們必須使用關鍵字 “global” ,如以下範例所示:
範例 1: 使用全域性關鍵字
# 此函數修改全域性變數's' def f(): global s s += ' HY' print(s) s = "Look for Haiyong Python Section" print(s) # 全域性範圍 s = "Python is great!" f() print(s)
輸出:
Python is great! HY
Look for Haiyong Python Section
Look for Haiyong Python Section
現在沒有歧義了。
範例 2: 使用全域性變數和區域性變數
a = 1 # 使用全域性,因為沒有區域性「a」 def f(): print('Inside f() : ', a) # 變數「a」被重新定義為區域性變數 def g(): a = 2 print('Inside g() : ', a) # 使用 global 關鍵字修改全域性 'a' def h(): global a a = 3 print('Inside h() : ', a) # 全域性範圍 print('global : ', a) f() print('global : ', a) g() print('global : ', a) h() print('global : ', a)
輸出:
global : 1
Inside f() : 1
global : 1
Inside g() : 2
global : 1
Inside h() : 3
global : 3
到此這篇關於Python變數教學之全域性變數和區域性變數的文章就介紹到這了,更多相關Python全域性與區域性變數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45