Javascript中的局部變量和全局變量

| | |

變量是編程中一個重要且普遍存在的概念。變量是存儲數據的容器。變量可以存儲多種類型的數據,包括用戶名、電子郵件地址和用戶在線遊戲庫存中的項目。

使用 Python 編程時,您會遇到兩種類型的變量:全局變量和本地變量。在本指南中,我們將討論這兩種類型的變量之間的區別、它們的工作方式以及如何在代碼中使用它們。

Python 變量

在 Python 中,變量主要用於標記和存儲數據。當你定義一個變量時,你給它一個名字。然後,您可以稍後在代碼中使用此名稱來檢索它所代表的數據。變量可以存儲字符串、數字、列表或任何其他類型的數據。

假設您正在創建遊戲並希望存儲用戶名。我們可以使用一個變量來存儲它,而不必在我們的程序中輸入名稱。

這是一個存儲遊戲用戶名稱的變量:

我們已經聲明了一個名為 name 的變量 並將其設置為“Carlton Hernandez”。

現在我們已經聲明了這個變量,我們可以在代碼中對其進行操作。例如,如果我們想更改用戶名,可以使用以下代碼:

在我們代碼的第一行中,我們將值“Carlton Hernandez”賦給了變量name 。因此,我們將值“Carlton Lewis Hernandez”分配給變量name。當您為變量分配新值時,程序會覆蓋最近的值,並用新值替換它。

Python全局變量

Python 中有兩種主要類型的變量:局部變量和全局變量。

全局變量是在函數外部聲明的變量。全局變量具有全局範圍。這意味著它可以在整個程序中訪問,包括函數。考慮以下這個概念的可視化表示。

Python 中的全局變量和局部變量

XOm04"

全局變量可通過程序訪問。

以下是 Python 中全局變量的示例:

一旦我們聲明了一個全局變量,我們就可以在我們所有的代碼。例如,我們可以創建一個函數,使用以下代碼打印全局變量 name 包含的值:

我們的代碼返回:

這裡我們已經初始化了一個被調用的函數<代碼>printName ()。此函數在調用時會將 name 變量的值打印到控制台。這就是上面調用函數時發生的情況。

Python 局部變量

另一方面,局部變量是在函數內部聲明的變量。已知這些變量具有本地範圍。這意味著它們只能在聲明它們的函數中訪問。再次考慮我們之前展示的這個可視化表示,它描述了 Python 中變量的概念:

全局和局部變量

局部變量只能在特定的函數中訪問。

下面是一個使用局部變量的程序示例:

我們的代碼返回:

在我們的代碼中,我們聲明了一個名為 printName() 的樂趣。在這個函數中,我們定義了一個名為 name 的變量。由於我們在函數中聲明了這個變量,所以它是一個局部變量。

在我們的代碼末尾,我們使用 printName () 調用了我們的函數。作為響應,程序執行 printName () 函數。

此示例中的 name 變量是 printName 的本地變量()。因此,我們不能在函數之外訪問這個變量。當我們嘗試在聲明它的函數之外打印這個局部變量 name 時會發生以下情況:

我們的代碼返回:

我們不能訪問外部的局部變量我們將該變量分配給的函數。當我們嘗試訪問主程序中的局部變量時,程序會拋出錯誤。

使用全局變量和局部變量

程序可以使用相同名稱的變量既是局部變量又是全局變量。局部變量將在局部範圍內讀取,全局變量將在全局範圍內讀取。

這是一個具有以下功能的程序示例局部和全局同名變量:

我們的代碼返回:

首先,我們在代碼中分配了全局變量score , 然後在我們的calculateScore()中,我們創建了一個同名的局部變量。

我們的局部變量scorecalculateScore()函數等於10。所以當它調用我們的函數calculateScore()時,Final score: 10的信息會打印在

但是,除了我們的calculateScore(),變量score的值是5。這是因為我們設置了變量score在全局範圍內的值為5。所以當我們打印Initial score:時,後面跟著變量score的值,程序顯示值 5。

在函數內分配全局變量

在前面的部分中,我們了解到全局變量是在函數外部定義的(即全局)和局部變量在函數內定義(例如本地)。但是,如果您使用 global 關鍵字在函數中定義變量(例如,本地),然後在程序中(全局)運行該函數,則該變量將成為全局變量。

考慮下面的例子:

我們的代碼返回:

在我們的代碼中,我們在 setName () 中本地分配了變量 name 的值功能。但是,由於我們在定義此變量之前使用了 global 關鍵字,因此我們準備為 name 變量提供全局範圍。但是,name變量只有在程序中執行完這個函數後才會變成全局變量。

程序執行完setName()函數後,每次我們在程序中使用name變量,就像我們執行print()時一樣 函數,程序將使用我們在本地函數中聲明的值,因為 name 變量現在是一個全局變量變量。

記住我們如何前面說過不能直接在函數內修改全局變量?確實如此。但是,您可以使用 global 關鍵字來間接修改函數中的全局變量。

這是一個示例程序,它在函數中使用 global 關鍵字來更改全局變量的值變量:

我們的代碼返回:

讓我們分解這段代碼。我們首先聲明了一個名為 name 的變量並將值“Bianca Peterson”分配給它。它是一個全局變量。所以我們聲明了一個名為setName()的函數。調用時,setName()函數修改name變量的值。

接下來,我們調用setName() ,將 name 的值更改為“Bianca Lucinda Peterson,"。最後,我們將 name 的值打印到控制台。name 全局變量現在是“Bianca Lucinda Peterson,"。

一般來說,應謹慎使用 global 關鍵字。過於頻繁地使用 global 關鍵字會讓人難以理解程序中變量的作用域。

結論

全局變量是在函數之外聲明的變量。局部變量是在函數中聲明的變量。

雖然不能在函數中直接更改全局變量,但您可以使用 global 關鍵字創建一個將更改全局變量值的函數。在這種情況下,在您運行此函數之前,全局變量的值不會改變。

本教程通過示例說明了局部變量和全局變量的基礎知識以及它們的工作原理。 .您現在可以像專業程序員一樣開始在 Python 代碼中使用局部和全局變量了!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method