中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python局部變量和全局變量-創(chuàng)新互聯(lián)

在python開發(fā)中,變量也是有生命周期的,一旦周期結束,程序會自動清理暫用的空間,釋放內存,變量分為兩者,一種是局部變量,一種是全局變量,兩者具體有什么區(qū)別呢……

在牡丹等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站建設、成都網(wǎng)站設計 網(wǎng)站設計制作按需定制制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,全網(wǎng)整合營銷推廣,外貿網(wǎng)站建設,牡丹網(wǎng)站建設費用合理。

?

python局部變量和全局變量

?

一.局部變量

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

1

2

3

4

5

6

7

8

def func1():

????# 在函數(shù)內部定義的變量默認都是局部變量

????a = 1

????print(a)

????# 函數(shù)結束,局部變量a的生命周期結束

?

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

print(a)

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

?

二.全局變量

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

1

2

3

4

5

6

7

8

9

a = 2

def func1():

????print(a)

????# 函數(shù)結束,局部變量的生命周期結束

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

?

func1()

# 輸出全局變量a

print(a)

輸出結果:

1

2

2

2

?

三.局部變量和全局變量的區(qū)別

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

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

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:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

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

a = 2

def func1():

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

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

????print(a)

????# 函數(shù)結束,局部變量的生命周期結束

?

?

func1()

# 輸出全局變量a

print(a)

輸出結果:

1

2

1

2

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

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

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

1

2

1

1

?

python局部變量和全局變量

?

四.重點總結

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

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

?

猜你喜歡:

1.python變量

2.pycharm設置頭文件模板

?

轉載請注明:猿說Python???python局部變量和全局變量

?

網(wǎng)站欄目:python局部變量和全局變量-創(chuàng)新互聯(lián)
瀏覽地址:http://www.rwnh.cn/article30/jdgso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、外貿網(wǎng)站建設、靜態(tài)網(wǎng)站網(wǎng)站策劃、虛擬主機、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
阳谷县| 雅安市| 西乌珠穆沁旗| 安多县| 启东市| 张家口市| 桑日县| 台南县| 罗田县| 永顺县| 隆德县| 全南县| 昌邑市| 广元市| 兴和县| 通州市| 北票市| 芦山县| 柘荣县| 麻栗坡县| 南阳市| 固阳县| 天全县| 赤峰市| 盖州市| 蚌埠市| 峨眉山市| 遂昌县| 怀柔区| 莫力| 柯坪县| 灌阳县| 无为县| 延寿县| 正宁县| SHOW| 上高县| 阿拉善右旗| 绥棱县| 普兰店市| 方山县|