python全局变量的声明和使用_Python二级(07)——函数和代码复用
>>上一篇《Python二級(jí)(06)——程序的控制結(jié)構(gòu)》
一、知識(shí)導(dǎo)圖
二、函數(shù)的基本使用
1、函數(shù)的定義
I、函數(shù)是一段具有特定功能的、可重用的語(yǔ)句組,通 過(guò)函數(shù)名來(lái)表示和調(diào)用。經(jīng)過(guò)定義,一組語(yǔ)句等價(jià) 于一個(gè)函數(shù),在需要使用這組語(yǔ)句的地方,直接調(diào) 用函數(shù)名稱即可。
II、因此,函數(shù)的使用包括兩部分:函數(shù)的定義和函數(shù)的使用。
III、函數(shù)是一種功能抽象。
IV、Python定義一個(gè)函數(shù)使用def保留字,語(yǔ)法形式 如下:
a、函數(shù)名可以是任何有效的Python標(biāo)識(shí)符
b、參數(shù)列表是調(diào)用該函數(shù)時(shí)傳遞給它的值,可以有 零個(gè)、一個(gè)或多個(gè),當(dāng)傳遞多個(gè)參數(shù)時(shí)各參數(shù)由逗號(hào)分隔,當(dāng)沒(méi)有參數(shù)時(shí)也要保留圓括號(hào)。
c、函數(shù)體是函數(shù)每次被調(diào)用時(shí)執(zhí)行的代碼,由一行或多行語(yǔ)句組成。
d、如果需要返回值,使用保留字return和返回值 列表。函數(shù)可以沒(méi)有return語(yǔ)句,函數(shù)體結(jié)束 后會(huì)將控制權(quán)返回給調(diào)用者。
def fact(n): s = 1 for i in range(1, n + 1): s *= i return s如果需要返回值,使用保留字return和返回值列表。函數(shù)可以沒(méi)有return語(yǔ)句,函數(shù)體結(jié)束 后會(huì)將控制權(quán)返回給調(diào)用者。
2、函數(shù)使用
I、定義后的函數(shù)不能直接運(yùn)行,需要經(jīng)過(guò)“調(diào)用” 才能運(yùn)行。調(diào)用函數(shù)的基本方法如下:
def fact(n): s = 1 for i in range(1, n + 1): s *= i return sprint(fact(5))具體來(lái)說(shuō),函數(shù)的使用一共分為四個(gè)步驟:
①.函數(shù)定義
使用def保留字將一段代碼定義為函數(shù),需要確定函數(shù)的名字、參數(shù)的名字、參數(shù)的個(gè)數(shù),使用 參數(shù)名稱作為形式參數(shù)(占位符)編寫函數(shù)內(nèi)部的 功能代碼。
②. 函數(shù)調(diào)用
通過(guò)函數(shù)名調(diào)用函數(shù)功能,對(duì)函數(shù)的各個(gè)參數(shù)賦予實(shí)際值,實(shí)際值可以是實(shí)際數(shù)據(jù),也可以是 在調(diào)用函數(shù)前已經(jīng)定義過(guò)的變量。
③. 函數(shù)執(zhí)行
函數(shù)被調(diào)用后,使用實(shí)際參數(shù)(賦予形式參數(shù)的實(shí)際值)參與函數(shù)內(nèi)部代碼的運(yùn)行,如果有結(jié) 果則進(jìn)行輸出。
④. 函數(shù)返回
函數(shù)執(zhí)行結(jié)束后,根據(jù)return保留字的指示決
定是否返回結(jié)果,如果返回結(jié)果,則結(jié)果將被放置 到函數(shù)被調(diào)用的位置,函數(shù)使用完畢,程序繼續(xù)運(yùn) 行。
三、函數(shù)的參數(shù)傳遞
1、函數(shù)參數(shù)的傳遞
I、函數(shù)的參數(shù)在定義時(shí)可以指定默認(rèn)值,當(dāng)函數(shù)被 調(diào)用時(shí),如果沒(méi)有傳入對(duì)應(yīng)的參數(shù)值,則使用函 數(shù)定義時(shí)的默認(rèn)值替代,函數(shù)定義時(shí)的語(yǔ)法形式 如下:
II、需要注意,可選參數(shù)一般都放置在非可選參數(shù)的后面,即定義函數(shù)時(shí),先給出所有非可選參數(shù), 然后再分別列出每個(gè)可選參數(shù)及對(duì)應(yīng)的默認(rèn)值。
>>>def multiply(x, y = 10): print(x*y)>>>multiply(99)990>>>multiply(99, 2)1982、 參數(shù)名稱傳遞
I、Python語(yǔ)言同時(shí)支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),語(yǔ)法形式如下:
>>>def multiply(x, y = 10): print(x*y)>>>multiply(x = 99)990>>>multiply(y = 2, x = 99)1983、 函數(shù)的返回值
I、return語(yǔ)句用來(lái)結(jié)束函數(shù)并將程序返回到函數(shù)被 調(diào)用的位置繼續(xù)執(zhí)行。
II、return語(yǔ)句可以出現(xiàn)在函數(shù)中的任何部分,同時(shí) 可以將0個(gè)、1個(gè)或多個(gè)函數(shù)運(yùn)算的結(jié)果返回給函 數(shù)被調(diào)用處的變量。
>>>def multiply(x, y = 10): return x*y>>>s = multiply(99, 2) >>>print(s)198III、函數(shù)可以沒(méi)有return,此時(shí)函數(shù)并不返回值。當(dāng) 函數(shù)使用return返回多個(gè)值,可以使用一個(gè)變量 或多個(gè)變量保存結(jié)果。
>>>def multiply(x, y = 10): return x*y, x+y>>>s = multiply(99, 2) >>>print(s)(198, 101)>>>a,b = multiply(99, 2) >>>print(a)198>>>print(b)101四、變量的作用域
1、函數(shù)的返回值
I、根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量
II、局部變量?jī)H在函數(shù)內(nèi)部,且作用域也在函數(shù)內(nèi)部, 全局變量的作用域跨越多個(gè)函數(shù)。
2、 局部變量
I、局部變量指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效, 當(dāng)函數(shù)退出時(shí)變量將不再存在。
變量z是函數(shù)multiple()內(nèi)部使用的變量,當(dāng)函數(shù)調(diào)用后, 變量z將不存在。
3、全局變量
I、全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行 全過(guò)程有效。全部變量在函數(shù)內(nèi)部使用時(shí),需要 提前使用保留字global聲明,語(yǔ)法形式如下:
>>>n = 2 #n是全局變量 >>>def multiply(x, y = 10): global n return x*y*n # 使用全局變量n >>>s = multiply(99, 2)>>>print(s)396上例中,變量n是全局變量,在函數(shù)multiply() 中使用時(shí)需要在函數(shù)內(nèi)部使用global聲明,定義 后即可使用。
II、如果未使用保留字global聲明,即使名稱相同, 也不是全局變量。
>>>n = 2 #n是全局變量 >>>def multiply(x, y = 10): n = x*y return n # 此處的n不是全局變量 >>>s = multiply(99, 2)>>>print(s)198>>>print(n) #不改變外部全局變量的值 2五、實(shí)例解析-- 軟文的詩(shī)詞風(fēng)
軟文的詩(shī)詞風(fēng)將原有文章根據(jù)標(biāo)點(diǎn)符號(hào)重新切分 成短句并居中排版,對(duì)小屏幕閱讀十分有利。使 用程序?qū)⑵胀ㄎ恼伦兂绍浳牡脑?shī)詞風(fēng)十分有趣
txt = """昔日齷齪不足夸,今朝放蕩思無(wú)涯。春風(fēng)得意馬蹄疾,一日看盡長(zhǎng)安花。"""linewidth = 30 # 預(yù)定的輸出寬度def lineSplit(line): plist = [',', '!', '?', ',', '。', '!', '?'] for p in plist: line = line.replace(p, '') return line.split('')def linePrint(line): global linewidth print(line.center(linewidth, chr(12288)))newlines = lineSplit(txt)for newline in newlines: linePrint(newline)>>下一篇《Python二級(jí)(08)——組合數(shù)據(jù)類型》
總結(jié)
以上是生活随笔為你收集整理的python全局变量的声明和使用_Python二级(07)——函数和代码复用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 越卖越好!理想汽车3月交付破2万辆 累计
- 下一篇: python初学者代码示例_python