python def 定義函數(shù),調(diào)用函數(shù)方式
python def 定義函數(shù),調(diào)用函數(shù)方式
def sum_2_nums(a,b): #def 定義函數(shù) result = a+b print('%d+%d=%d'%(a,b,result)) num1 = int(input('請輸入第一個數(shù)字:')) num2 = int(input('請輸入第二個數(shù)字:')) sum_2_nums(num1,num2) #調(diào)用函數(shù)
定義和調(diào)用的函數(shù),1:個數(shù)相同 ;2:順序 一 一對應(yīng)
這樣才能正確實(shí)現(xiàn)
補(bǔ)充知識:python中l(wèi)ist作為全局變量無需global聲明的原因
發(fā)現(xiàn)一個問題。
python中l(wèi)ist變量作為全局變量時,在函數(shù)中可以直接修改。
而普通變量則需要先在函數(shù)中g(shù)lobal聲明,否則會報錯。
例如:
a = 1
def fun():
global a
a = 2
而list:
b = [1,2]
def fun():
b[0] = 2
在函數(shù)中直接修改list則是可以的。
原因是:
普通變量如果在函數(shù)中賦值
a = 2
會有歧義。因?yàn)樗瓤梢允潜硎疽萌肿兞縜,也可以是創(chuàng)建一個新的局部變量,所以在python中,默認(rèn)它的行為是創(chuàng)建局部變量,除非顯式聲明global。
而對列表list變量進(jìn)行賦值
b[0] = 2
則不會有歧義。它是“明確的”,因?yàn)槿绻裝當(dāng)作是局部變量的話,它會報KeyError,所以它只能是引用全局的b,故不需要多此一舉顯式聲明global。
以上這篇python def 定義函數(shù),調(diào)用函數(shù)方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python xpath表達(dá)式如何實(shí)現(xiàn)數(shù)據(jù)處理
這篇文章主要介紹了Python xpath表達(dá)式如何實(shí)現(xiàn)數(shù)據(jù)處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06初次部署django+gunicorn+nginx的方法步驟
這篇文章主要介紹了初次部署django+gunicorn+nginx的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09python中os和sys模塊的區(qū)別與常用方法總結(jié)
這篇文章主要給大家介紹了關(guān)于python中os和sys模塊的區(qū)別與常用方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Python內(nèi)存管理器如何實(shí)現(xiàn)池化技術(shù)
Python中的內(nèi)存管理是從三個方面來進(jìn)行的,一對象的引用計數(shù)機(jī)制,二垃圾回收機(jī)制,三內(nèi)存池機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Python內(nèi)存管理器如何實(shí)現(xiàn)池化技術(shù)的相關(guān)資料,需要的朋友可以參考下2022-05-05Python BeautifulSoup [解決方法] TypeError: list indices must be
這篇文章主要介紹了Python BeautifulSoup [解決方法] TypeError: list indices must be integers or slices, not str,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08