1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. 首頁 > Python 教程 > Python 提高教程 > Python 中的變量作用域

            Python 中的變量作用域

            更新:

            通常,在塊中定義的變量僅在該塊中可用。在街區外無法到達。這樣的變量稱為局部變量。形式參數標識符也表現為局部變量。

            下面的例子將強調這一點。試圖打印其作用域之外的局部變量將引發NameError 異常。

            Example: Local Variable

            def greet():
                name = 'Steve'
                print('Hello ', name) 

            這里,namegreet()函數的局部變量,不能在函數外部訪問。

            Example: Local Variable

            >>> greet()                            
            Hello Steve
            >>> name Traceback (most recent call last):
            File "<pyshell#4>", line 1, in <module> name
            NameError: name 'name' is not defined 

            任何存在于任何函數塊之外的變量稱為全局變量。它的值可以從任何函數內部訪問。在下面的例子中,name變量在函數定義之前被初始化。 因此,它是一個全局變量。

            Example: Global Variable

            name='John'
            def greet():
                print ("Hello ", name) 

            現在,您可以訪問全局變量name,因為它是由函數定義的。

            >>> greet()                            
            Hello Steve
            >>> name
            'Steve' 

            但是,如果我們在函數內部為全局聲明的變量賦值,則會在函數的命名空間中創建一個新的局部變量。此賦值不會改變全局變量的值。例如:

            Example: Local and Global Variables

            name = 'Steve'
            def greet():
                name = 'Bill'
                print('Hello ', name) 

            現在,改變函數內部全局變量name的值不會影響其全局值。

            >>> greet()
            Hello Bill
            >>> name
            'Steve' 

            如果您需要從函數內部訪問和更改全局變量的值,該權限由global關鍵字授予。

            Example: Access Global Variables

            name = 'Steve'
            def greet():
                global name
                name = 'Bill'
                print('Hello ', name) 

            上面將在 Python Shell中顯示以下輸出。

            >>> name                               
            'Steve'
            >>> greet()                            
            Hello Bill
            >>> name                               
            'Bill' 

            也可以同時使用同名的全局變量和局部變量。內置函數globals()返回所有全局變量及其各自值的字典對象。 使用變量的名稱作為關鍵字,可以訪問和修改其值。

            Example: Global Variables

            name = 'Steve'
            def greet():
                globals()['name'] = 'James'
                name='Steve'
                print ('Hello ', name) 

            上述代碼的結果顯示了具有相同名稱的全局變量和局部變量之間的沖突以及如何解決該沖突。

            >>> name
            'Steve'
            >>> greet()    
            Hello Steve 
            >>> name
            'James' 

            更多信息,請訪問 Python 中的全局和局部。**

            文章目錄
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>