中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python局部變量和全局變量有什么區別

發布時間:2020-06-05 14:46:16 來源:億速云 閱讀:474 作者:Leah 欄目:編程語言

python局部變量和全局變量有什么區別?針對這個問題,今天小編總結這篇有關python變量的文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。

一.局部變量

一般而言在函數內部或者類中聲明的變量默認都是局部變量。一旦函數結束,變量的生命周期也會結束,占用的空間會被自動釋放。

1

2

3

4

5

6

7

8

def func1():

    # 在函數內部定義的變量默認都是局部變量

    a = 1

    print(a)

    # 函數結束,局部變量a的生命周期結束

 

# 由于a是局部變量,并且a的生命周期已經結束,外部再次調用局部變量a,程序會產生異常,崩潰

print(a)

程序報錯:NameError: name ‘a’ is not defined ,原因:函數內部定義的局部變量只能在函數內部使用。

 

二.全局變量

全局變量和局部變量相反,在函數外部或者類外部聲明的變量默認為全局變量。全局變量的生命周期直到程序結束才會結束,比局部變量生命周期更長。

1

2

3

4

5

6

7

8

9

a = 2

def func1():

    print(a)

    # 函數結束,局部變量的生命周期結束

    # 全局變量直到程序結束,生命周期才結束

 

func1()

# 輸出全局變量a

print(a)

輸出結果:

1

2

2

2

 

三.局部變量和全局變量的區別

1.全局變量的生命周期是直到程序結束,而局部變量生命周期是函數結束;

2.如果需要在函數內部修改全局變量的值,需要在函數內部為該全局變量前面加上 global 關鍵字 否則該變量默認為函數內部定義的局部變量,示例代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解憂

@Blog(個人博客地址): shuopython.com

@WeChat Official Account(微信公眾號):猿說python

@Github:www.github.com

@File:python_global.py

@Time:2019/10/10 21:00

 

@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

# 在函數內部定義的變量默認都是局部變量

a = 2

def func1():

    # global a # 聲明 a 是全局變量,在該函數內部對a的操作就是對全局變量a的操作

    a = 1      # 如果沒有上一行代碼,默認a就是函數內部的局部變量,函數結束,生命周期結束

    print(a)

    # 函數結束,局部變量的生命周期結束

 

 

func1()

# 輸出全局變量a

print(a)

輸出結果:

1

2

1

2

是不上覺得很奇怪:為什么最后一個值是2,應該是1才對?

因為沒有第17行代碼的話,默認a只是函數內部的一個普通局部變量,所以函數內部的print函數輸出到控制臺是1;函數結束,函數內部的局部變量a值生命周期結束,執行fun1函數之后的print函數輸出的是全局變量a的值2.

也就是說函數內部對a值得修改并沒有成功,只有在函數內部,為全局變量加上關鍵字global聲明為全局變量,才能修改成功,取消第17行得注釋,控制臺輸出:

1

2

1

1

 

四.重點總結

1.注意局部變量和全局變量的生命周期;

2.如果想在函數內部修改全局變量的值,需要加上關鍵字global;

 

看完上述內容,你們對python局部變量和全局變量的區別大概了解了嗎?如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

启东市| 江孜县| 青海省| 常山县| 赣州市| 依安县| 齐齐哈尔市| 永嘉县| 深州市| 卢龙县| 措勤县| 大渡口区| 平舆县| 黔东| 福州市| 阆中市| 隆尧县| 阜南县| 共和县| 敖汉旗| 铅山县| 乐至县| 涞源县| 繁峙县| 梅河口市| 永康市| 太仆寺旗| 通榆县| 六安市| 慈溪市| 建水县| 宜宾县| 鞍山市| 刚察县| 瑞安市| 玉屏| 湖北省| 乌拉特前旗| 奎屯市| 松潘县| 南昌市|