程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

18-python學習筆記之作用域

編輯:Python

文章目錄

  • 前言
    • 什麼是作用域?
    • 局部作用域
  • 一、作用域的具體使用
    • 函數內部的函數
    • 全局作用域
    • 命名變量
    • global 關鍵字
  • 總結


前言


以下都是自己的一些學習筆記,可能有寫的不對的地方,還望各位大佬體諒和加以指正。


什麼是作用域?

變量僅在創建區域內可用。這稱為作用域。

局部作用域

在函數內部創建的變量屬於該函數的局部作用域,並且只能在該函數內部使用。

在函數內部創建的變量在該函數內部可用:

def myfunc():
x = 100
print(x)
myfunc()

一、作用域的具體使用

函數內部的函數

如上例中所示,變量 x 在函數外部不可用,但對於函數內部的任何函數均可用:

能夠從函數內的一個函數訪問局部變量:

def myfunc():
x = 100
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()

全局作用域

在 Python 代碼主體中創建的變量是全局變量,屬於全局作用域。
全局變量在任何范圍(全局和局部)中可用。
在函數外部創建的變量是全局變量,任何人都可以使用:

x = 100
def myfunc():
print(x)
myfunc()
print(x)

命名變量

如果在函數內部和外部操作同名變量,Python 會將它們視為兩個單獨的變量,一個在全局范圍內可用(在函數外部),而一個在局部范圍內可用(在函數內部):

該函數將打印局部變量 x,然後代碼還會打印全局變量 x:

x = 100
def myfunc():
x = 200
print(x)
myfunc()
print(x)

global 關鍵字

如果我們需要創建一個全局變量,但被卡在本地作用域內,則可以使用 global 關鍵字。
global 關鍵字使變量成為全局變量。
如果使用 global 關鍵字,則該變量屬於全局范圍:

def myfunc():
global x
x = 100
myfunc()
print(x)

另外,如果要在函數內部更改全局變量,也請使用 global 關鍵字。
要在函數內部更改全局變量的值,請使用 global 關鍵字引用該變量:

x = 100
def myfunc():
global x
x = 200
myfunc()
print(x)

總結

作用域分為 局部作用域 和 全局作用域 :

全局作用域 在任何地方都可以使用

局部作用域 只能在特定的函數內使用

在函數中要想要修改全局變量 或者 使用全局變量 需要使用 global 關鍵字
例如:

x = 100
def myfunc():
global x
x = 200
myfunc()
print(x)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved