日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python老男孩 day15 函数(二) 局部变量与全局变量

發(fā)布時間:2025/3/15 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python老男孩 day15 函数(二) 局部变量与全局变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

https://www.cnblogs.com/linhaifeng/articles/6113086.html

——————————————————————————————————————

五、局部變量與全局變量

在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。
全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。
當(dāng)全局變量與局部變量同名時:
在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。

name='lhf'def change_name():print('我的名字',name)change_name()

運行結(jié)果:
我的名字 lhf

def change_name():name='帥了一筆'print('我的名字',name)change_name() print(name)

運行結(jié)果:
我的名字 帥了一筆
lhf

def change_name():global namename='帥了一筆'print('我的名字',name)change_name() print(name)


運行結(jié)果:
我的名字 帥了一筆
帥了一筆

NAME = "產(chǎn)品經(jīng)理"def yangjian():global NAME # 已經(jīng)聲明,NAME就是全局的的那個變量print('我要搞', NAME)NAME = "小東北" # 修改 全局的變量print('我要搞', NAME)yangjian()

?

?運行結(jié)果:

我要搞 產(chǎn)品經(jīng)理
我要搞 小東北

#如果函數(shù)的內(nèi)容無global關(guān)鍵字
-有聲明局部變量

NAME = ["產(chǎn)品經(jīng)理","廖波濕"] def qupengfei():NAME = "自己"print('我要搞', NAME) qupengfei()

運行結(jié)果:
我要搞 自己

-無聲明局部變量

NAME = ["產(chǎn)品經(jīng)理", "廖波濕"]def qupengfei():NAME.append('XXOO')print('我要搞', NAME)qupengfei()

?


運行結(jié)果:
我要搞 ['產(chǎn)品經(jīng)理', '廖波濕', 'XXOO']

#如果函數(shù)中有g(shù)lobal關(guān)鍵字

-有聲明局部變量

NAME = ["產(chǎn)品經(jīng)理","廖波濕"] def qupengfei():NAME = "自己"global NAMEprint('我要搞', NAME) qupengfei()

運行結(jié)果:
報錯
SyntaxError: name 'NAME' is assigned to before global declaration


-無聲明局部變量

NAME = ["產(chǎn)品經(jīng)理","廖波濕"] def qupengfei():global NAMENAME = ["阿毛"]NAME.append('XXOO')print('我要搞', NAME) qupengfei()

?

?運行結(jié)果:

我要搞 ['阿毛', 'XXOO']


*** 全局變量變量名大寫
*** 局部變量變量名小寫

?

#優(yōu)先讀取局部變量,若無則只能讀取全局變量,無法對全局變量重新賦值
#但是對于可變類型,可以對內(nèi)部元素進(jìn)行操作
#如果函數(shù)中有g(shù)lobal關(guān)鍵字,變量本質(zhì)上就是全局變量,可讀取可賦值 NAME='fff'

?

NAME = '海風(fēng)'def huangwei():name = "黃偉"print(name)def liuyang():name = "劉洋"print(name)def nulige():name = '滬指花'print(name)print(name)nulige()liuyang()print(name)huangwei()

?

運行結(jié)果:
黃偉
劉洋
劉洋
滬指花
黃偉

解題思路:

?

name = "剛娘"def weihou():name = "陳卓"def weiweihou():global name #獲取的是全局的name,并沒有改變weihou()內(nèi)的name = "陳卓"name = "冷靜"weiweihou()print(name) #所以輸出 陳卓print(name) weihou() print(name)

運行結(jié)果:
剛娘
陳卓
冷靜

?

name = "剛娘"def weihou():name = "陳卓"def weiweihou():nonlocal name # nonlocal,指定上一級變量,如果沒有就繼續(xù)往上直到找到為止name = "冷靜"weiweihou()print(name)print(name) weihou() print(name)

運行結(jié)果:
剛娘
冷靜
剛娘

轉(zhuǎn)載于:https://www.cnblogs.com/zhuhemin/p/9099571.html

總結(jié)

以上是生活随笔為你收集整理的Python老男孩 day15 函数(二) 局部变量与全局变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。