Python函數中的全局變量與局部變量

2021-03-02 蜘蛛機器人

# a,b變量是全局變量,在整個py文件中都可以訪問

a = 11

b = 12

# 定義一個函數

def first():

    # 這個變量是函數內部定義的變量,屬於局部變量,只能在函數中使用

    c = "Hello"

    # 大括號{} 是format()函數的用法,格式化

    print("c = {}".format(c))

    # 如果局部變量定義的名稱與全局變量相同,相當於是在函數中又定義了一個新的局部變量,不會修改全局變量

    # 當函數中使用某個變量時,如果該變量名與全局變量相同,默認使用局部變量

    a = 21

    print("函數內部a = {}".format(a))

    # 函數內部如果想要修改全局變量

    # 使用global可以對變量進行聲明,說明此變量是全局變量,還可以通過此函數修改全局變量的值

    global b

    b = 22

    # 使用locals,globals可以查看變量是屬於全局變量還是局部變量

    print("locals = {},globals = {}".format(locals(), globals()))

# 調用函數,如果不調用函數,修改變量就不會生效,因為不調用函數相當於未運行此代碼塊

first()

# 局部變量c只能在函數中使用

# print(c)

print("函數外部a = {}".format(a))

print("函數外部b = {}".format(b))

# Python中 locals可以查看局部變量,globals可以查看全局變量

# 在Python中,只有函數能夠分隔作用域

if a < b:

    # 變量d也屬於全局變量,但不建議這樣定義,因為這樣定義只有當條件為真時才有變量d,條件為假時代碼不運行,無變量d

    d = 7

print(d)

如果你希望一切都能變得更加美好,就從改變自己開始。關注微信公眾號「蜘蛛編程「~發送001,領取***PyCharm工具安裝包+註冊碼、笨辦法學Python**文檔
添加微信號" BwcxTz1 "領取***Python爬蟲開發與項目實戰、Python程序錯誤故障排除17個問題**等更多優質文檔

||如有侵權,請聯繫刪除,謝謝!||

相關焦點

  • 詳解python 局部變量與全局變量
    一旦本文將詳細分析python的全局變量與局部變量,學過php的人都知道,php裡面的全局變量是無法在function裡面去使用的,只有超全局變量才可以
  • Python 局部變量,全局變量,nonlocal 變量用法
    局部變量一般位於函數內的變量為局部變量,它的作用域僅在函數體內,在函數體外無效:def foo():    x = 10    print(f'x equals {x}' )foo() print(x)
  • C語言局部變量和全局變量的區別
    局變量是使用相同的內存塊在整個類中存儲一個值。 全局變量的存在主要有以下一些原因: 局部變量說明: 在程序中,只在特定的過程或函數中可以訪問的變量,是相對與全局變量而言的。 全局變量也稱為外部變量,是在函數的外部定義的,它的作用域為從變量定義處開始,到本程序文件的末尾。全局變量全部存放在靜態存儲區,在程序開始執行時給全局變量分配存儲區,程序行完畢就釋放。
  • Python函數詳解一(函數參數、變量作用域)
    python除了可以直接使用內置函數,還支持自定義函數。定義函數使用 def 關鍵字,格式如下:函數的返回值函數的返回值用return語句返回,函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,並將結果返回。如果沒有返回值,函數執行完畢後也會返回結果,只是結果為None。
  • python進階教程之變量
    局部變量和全局變量提示:在其他的開發語言中,大多 不推薦使用全局變量 —— 可變範圍太大,導致程序不好維護!>print("over")```局部變量的生命周期3.2 全局變量```python定義一個全局變量num = 10def demo1():print(num)def demo2():print(num)demo1() demo2()
  • PHP static局部靜態變量和全局靜態變量總結
    靜態局部變量的特點:1.不會隨著函數的調用和退出而發生變化,不過,儘管該變量還繼續存在,但不能使用它。
  • Python變量作用域及global,nonlocal詳解
    作用域作用域就是作用範圍,python的作用域是靜態的,在代碼中變量名被賦值的位置決定了該變量能被訪問的範圍。
  • C語言中,全局變量濫用的後果竟如此嚴重?
    01啥是全局變量說起全局變量,就不得不提到「全局變量,局部變量,靜態全局變量,靜態局部變量」,這些都是程式語言中的基本概念。變量分為局部與全局,局部變量又可稱之為內部變量。由某對象或某個函數所創建的變量通常都是局部變量,只能被內部引用,而無法被其它對象或函數引用。全局變量既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。
  • 解讀Python變量的作用域
    從給出的錯誤信息可以得出下面的結論:在函數內部聲明的變量不能在函數外部訪問,函數內部聲明的變量為局部變量,其作用域僅限於函數內部。有局部變量就有全局變量,上面代碼中的π就是全局變量。這裡的全局變量是指在模塊範圍內的全局變量,其作用域是整個模塊。全局變量可以在模塊內的函數內部使用,但需要遵循先聲明後使用的原則。
  • 利用全局及外部變量實現C51無能數化調用A51函數
    本文引用地址:http://www.eepw.com.cn/article/171925.htm1 C51無參數化調用A51函數的實現原理為了說明其原理,必須理解局部變量、全局變量和外部變量的意義。局部變量:是在函數內部定義的變量,只在定義它的函數內部有效,僅在使用它時,才為它分配內存單元。全局變量:又稱外部變量,是在函數外部定義的變量,可以為多個函數共同使用,其有效作用範圍是從它定義的位置開始直到整個程序文件結束。
  • Python中的global關鍵字的用法以及如何設置變量?
    那么正Python程式語言中,結合global的中文意思你會更加的理解這個關鍵字的用法。我們使用global關鍵字可以定義Global的變量。global 關鍵字能什麼呢global關鍵字可以定義一個變量,被定義的變量可以在變量作用域之外被修改,通俗講就是一個全局的變量,這個全局的變量在其被定義後,可以在全部上文中修改和使用。
  • C語言中的變量詳解
    當然不僅僅是形參變量,在C中所有的量都有自己的作用域。C中的變量,按作用域可分為兩種,局部變量和全局變量。局部變量:也稱內部變量。局部變量是在函數內做定義說明的,其作用域僅限於函數內部,離開函數後再使用這種變量是非法的。
  • python動態添加類對象成員:變量、函數
    一般類對象新增變量或方法的過程在面向對象(OOP)的編程方法中,如果需要給實例化的類對象新增方法或者屬性,一般都是在class類的定義中新增內容,然後才能用類對象來調用新增的方法或變量。如在C++中:C++類新增成員然而在python中給類對象新增變量或者方法並不需要對原始類定義進行重新修改,隨時都可以給類對象新增成員。
  • 雲計算開發學習筆記:Python3 全局變量實例
    在使用Python3作用域開發過程中,只需要關注全局作用域和局部作用域就好了,全局作用域就是說白了模塊(單個 .py 文件中)直接聲明的變量。比如有個 demo.py 的文件,含有以下代碼:以上只是說明了全局變量僅僅是在 .py 文件中直接聲明的變量叫全局變量,還有在 .py 文件中直接寫的邏輯代碼塊中,也是全局變量。也就是說在 if/elif/else/、try/except、for/while 等邏輯代碼塊中的變量。
  • Python - 超級好用的函數eval
    globals : 變量作用域,全局命名空間,如果被提供,則必須是一個字典對象。locals : 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。命名空間python是用命名空間來記錄變量的軌跡的,命名空間是一個dictionary,鍵是變量名,值是變量值。
  • 深入理解靜態變量
    可以看到其在斷下時,全局靜態變量地址的值就已經有了,因為已初始化的全局變量的值會被寫入到exe文件中,所以其在模塊加載時,就已經有了值,是在mainCRTStartup()函數之前的。我們繼續測試,在C++編譯器環境下,將函數的返回值賦值給全局靜態變量的情況。
  • php變量是什麼?php變量的數據類型、命名規則等詳細介紹
    >5、php變量的作用域php變量有四種不同的作用域:local(局部)、global(全局)、static(靜態)、parameter(參數)。local(局部變量作用域)局部變量一般是指在函數中聲明的變量,該變量只能在該函數中訪問。如下所示:<?
  • Python函數概述
    語法def functionname( parameters ):   "函數_文檔字符串"   function_suite   return [expression]默認情況下,參數值和參數名稱是按函數聲明中定義的的順序匹配起來的。
  • Python專題 | (三)注釋、變量與輸出
    講完了注釋,我們來看這個程序的第一句(Mark把注釋去掉啦)通過注釋,這句話的意思是用一個變量存儲字符串「hello world」。那麼,什麼是字符串?什麼又是變量?這裡提到的字符串,是編程中數據類型的一種。在python中,數據被分為很多的類型。
  • Python之函數學習(八)
    在python語言中,函數可以有默認的參數,這是其他語言所不具備的,當然,也可以對默認的參數依據實際的需求進行修改,在具體的項目中依據集體的案例來進行。就仍然以add函數為案例來說明,見函數的默認參數的代碼: