卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

了解Python作用域

作用域是指變量的有效范圍。對于自學者來說,如果已經進入了函數這一部分,那么就應該了解Python的作用域。否則,你可能會像我一樣,總是對一個變量名在函數內外同時存在且具有不同的值感到困惑。在這篇文章中

作用域是指變量的有效范圍。對于自學者來說,如果已經進入了函數這一部分,那么就應該了解Python的作用域。否則,你可能會像我一樣,總是對一個變量名在函數內外同時存在且具有不同的值感到困惑。在這篇文章中,我將總結我所了解到的作用域以及LEGB規(guī)則。

1. 全局作用域(Global)

當我們創(chuàng)建一個文件時,就形成了一個模塊,這時候就產生了一個作用域。這個范圍是整個模塊,被稱為全局作用域。例如,在一個名為的文件中聲明一個變量bd"百度",那么變量bd就是一個全局變量。

```python

bd "百度"

if True:

print(bd) 輸出:百度

def function_1():

print(bd)

function_1()

```

在這個例子中,變量bd可以在函數內和函數外被使用。

2. 局部作用域(Local)

當函數被定義后,它就擁有了一個屬于自己的小天地,即局部作用域。在這個范圍內,可以定義變量,也可以在內部嵌套函數。但是,局部作用域中的變量只能在局部范圍內使用。

```python

def locals():

x 100

print("local_x ", x)

locals()

```

輸出結果:local_x 100

如果在全局范圍內打印x,就會報錯:

```python

def locals():

x 100

print("local_x ", x)

print(x) 錯誤!NameError: name 'x' is not defined

locals()

```

因此,局部變量x只能在函數內部使用,在其他地方調用時會出錯。

3. 嵌套作用域(Enclosed)

當函數嵌套時,就會產生嵌套作用域,介于全局作用域和局部作用域之間。比如,一個函數嵌套了另一個函數,那么被嵌套的函數就是內部作用域,而嵌套函數的作用域就是嵌套范圍的作用域。如果有更多層的嵌套,就會有多個嵌套作用域。

```python

x 20

def local_out():

y 30

def local_in():

z 40

print("本地變量z:", z)

print("嵌套變量y:", y)

local_in()

print("全局變量x:", x)

local_out()

```

輸出結果:

全局變量x: 20

嵌套變量y: 30

本地變量z: 40

4. Python的內建函數(Built-in)

內建函數是Python中天生就有的函數,無論在哪個作用域都可以直接調用。其中,最常用的莫過于print()函數。關于內建函數的詳細信息,你可以在Python的文檔中找到。

通過理解Python的作用域,可以更好地掌握變量的使用范圍和生命周期,從而提高代碼的可讀性和可維護性。希望這篇文章對你有所幫助,讓你更好地理解Python作用域的概念。

標簽: