Python局部、全局、Global變量


一、任務描述

  本實驗任務主要對Python的局部、全局變量進行一些基本操作,通過完成本實驗任務,要求學生熟練掌握Python的局部、全局變量。並對Python局部、全局變量的基本操作進行整理並填寫工作任務報告。

二、任務目標

1、掌握Python的局部變量

2、掌握Python的全局變量

3、掌握Python的Global變量

三、任務環境

Ubuntu16.04、Python2.7

四、任務分析

  全局變量與局部變量兩者的本質區別就是在於作用域。用通俗的話來理解的話,全局變量是在整個py文件中聲明,全局范圍內都可以訪問。局部變量是在某個函數中聲明的,只能在該函數中調用它,如果試圖在超出范圍的地方調用,程序就爆掉了。如果在函數內部定義與某個全局變量一樣名稱的局部變量,就可能會導致意外的效果。因此不建議這樣使用,這樣會使得程序很不健全。

 

 ♥ 溫馨提示
在函數中,如果想給全局變量賦值,則需要用關鍵字global聲明。

五、任務步驟

步驟1、環境准備

  右擊Ubuntu操作系統桌面,從彈出菜單中選擇【Open in Terminal】命令打開終端。

  通過【cd /home】切換到home目錄下。【ls】查看該目錄下的多有內容。

圖1 切換目錄

【mkdir variable】在home目錄下創建variable文件夾。

圖2 創建文件夾

步驟2、局部變量

  函數內部的變量名如果第一次出現,且出現在=前面,即被視為定義一個局部變量,不管全局域中有沒有用到該變量名,函數中使用的將是局部變量。

  【cd variable】切換到variable目錄下,【vim var1.py】回車后創建並編輯名為var1的Python文件。

圖3 創建Python文件

  回車后進入編輯框內,按鍵盤【i】進入編輯狀態,輸入如下程序。

  定義全局變量num,函數func內部定義局部變量num,通過main方法調用函數func()。

圖4 編輯Python文件

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框,【python var1.py】執行var1的Python文件。

  根據輸出的結果判斷函數中定義的num局部變量會將全局變量覆蓋。

圖5 運行Python文件

  再次進入var1.py文件編輯狀態,修改程序。

圖6 編輯Python文件

  再次運行var1.py程序出現‘num’沒有被定義的錯誤。

  錯誤提示局部變量num在賦值前被應用,也就是該變量沒有定義就使用它,由此再次證明了這里定義了一個局部變量,而不是使用的全局的num。

圖7 運行Python文件

步驟3、全局變量

  函數內部的變量名如果第一次出現,且出現在=后面,且該變量在全局域中已定義,則這里將引用全局變量,如果該變量在全局域中沒有定義,當然會出現“變量未定義”的錯誤。

  【vim var2.py】回車后創建並編輯名為var2的Python文件。

圖8 創建Python文件

  回車后進入編輯框內,按鍵盤【i】進入編輯狀態,輸入如下程序。

  定義全局變量num,函數func內部定義x = num + 100,通過main方法調用函數func()。

圖9 編輯Python文件

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框,【python var2.py】執行var2的Python文件。

  根據輸出的結果判斷函數中使用的num是全局變量num。

  只要是使用變量,而該變量在全局域中有定義,而在局部沒有定義,則會使用全局變量。

圖10 運行Python文件

  再次進入var2.py文件編輯狀態,修改程序。

  在函數內部定義局部變量num = 50。

圖11 編輯Python文件

  再次運行var2.py文件,根據結果得知使用的變量在全局域中有定義,在局部域中也有定義,則默認會使用局部變量。

圖12 運行Python文件

步驟4、global變量

  在函數中,如果想給全局變量賦值,則需要用關鍵字global聲明。

  【vim var3.py】回車后創建並編輯名為var3的Python文件。

圖13 創建Python文件

  回車后進入編輯框內,按鍵盤【i】進入編輯狀態,輸入如下程序。

  定義全局變量num,函數func內部為num變量添加global,修改全部變量num,通過main方法依次調用函數func(),全部變量num。

圖14 編輯Python文件

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框,【python var3.py】執行var3的Python文件。

  根據結果判斷函數中給num賦值為200是修改的全局變量,而且這里沒有定義新的局部變量。

圖15 運行Python文件

  再次進入var3.py文件編輯狀態,修改程序。

  添加num += 60,修改num的值。

圖16 編輯Python文件

  再次運行var2.py文件,根據結果判斷后續操作num也是操作的全局變量。

圖17 運行Python文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM