久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python全局變量global關鍵字詳解

瀏覽:129日期:2022-06-23 13:40:27
Python中的變量作用域

一般在函數體外定義的變量成為全局變量,在函數內部定義的變量稱為局部變量。

全局變量所有作用域都可用,局部變量只能在本函數可用,變量的使用順序是,局部變量 > 全局變量, 也就是說:優先使用局部變量

那么問題來了, 如果想在函數內使用全局變量,或改變全局變量的值, 應該怎么做呢?

Python全局變量global關鍵字

為了解決函數內使用全局變量的問題,python增加了global關鍵字, 利用它的特性, 可以指定變量的作用域。

Python全局變量global關鍵字的作用:聲明變量var是全局的

代碼實例

實例1:

函數優先使用局部變量

str = ’global’def func1(): str = ’local’ print(str)func1()print(str)

結果:

local

global

實例2:

在沒有局部變量的情況下, 使用全局變量

str = ’global’def func1(): print(str)func1()print(str)

結果:

global

global

實例3:

改變全局變量的值, 通過實例1可以看到, 函數內賦值并不能改變全局變量的值,所以需要global關鍵字

str = ’global’def func1(): global str str = ’local’ print(str)func1()print(str)

結果:

local

local

其他用法

你可以使用同一個global語句指定多個全局變量。

例如

global var1, var2, var3

特殊類型

字符串、數字類型是不能被在局部被修改的,除非使用global關鍵字,但是 列表,字典是可修改,但不能重新賦值,如果需要重新賦值,需要在函數內部使用global定義全局變量

代碼實例1:

list = [’global’, ’jb51.net’]def func1(): list.append(’www.jb51.net’) print(list)func1()print(list)

結果:

[’global’, ’jb51.net’, ’www.jb51.net’]

[’global’, ’jb51.net’, ’www.jb51.net’]

發現上面的list并沒有使用global但是值卻改變了, 說明列表是可以在局部被修改的

代碼實例2:

list = [’global’, ’jb51.net’]def func1(): list = [’docs.jb51.net’] print(list)func1()print(list)

結果:

[’docs.jb51.net’]

[’global’, ’jb51.net’]

局部變量賦值不能改變全局變量的值

代碼實例3:

list = [’global’, ’jb51.net’]def func1(): global list list = ’docs.jb51.net’ print(list)func1()print(list)

結果:

docs.jb51.net

docs.jb51.net

使用了global關鍵字后, 變量被重新賦值

本文主要講解了Python全局變量global關鍵字的使用方法,更多關于Python全局變量的使用請查看下面的相關鏈接

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 开远市| 九龙坡区| 贵南县| 和平县| 乐东| 噶尔县| 霍城县| 拉萨市| 潼南县| 五河县| 黄大仙区| 澄江县| 华安县| 昭苏县| 铜山县| 云南省| 七台河市| 喜德县| 车险| 正阳县| 凭祥市| 湟源县| 昌江| 读书| 宝山区| 南昌县| 什邡市| 申扎县| 郴州市| 常德市| 通山县| 福鼎市| 南昌市| 巴林左旗| 开平市| 林甸县| 大城县| 禄丰县| 咸宁市| 博客| 景德镇市|