真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python定義內(nèi)部函數(shù) python函數(shù)內(nèi)部定義的變量

python3 定義函數(shù)

Python 有很多有用的內(nèi)置函數(shù), 但還是不能滿足程序員的需求, 所以需要 自定義函數(shù) 。

主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站建設(shè)、程序開(kāi)發(fā)、微網(wǎng)站、微信小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。

如何編寫 自定義函數(shù) , 需要用到 def語(yǔ)句, 函數(shù)名, 括號(hào)及參數(shù), 冒號(hào), 函數(shù)說(shuō)明,內(nèi)置縮進(jìn)編碼模塊,return 語(yǔ)句 , 其中有一些也可省略不寫,后面會(huì)慢慢介紹。

編寫函數(shù)不可或缺的元素, 一定都要寫。函數(shù)名盡量寫得簡(jiǎn)單易懂。

一般是對(duì)函數(shù)的描述說(shuō)明。

這是編寫具體的 操作命令 的地方, 如果還未想好如何編寫, 可以使用 pass 來(lái)占位,讓程序可以運(yùn)行起來(lái),防止調(diào)試出錯(cuò)。

參數(shù)放在最后講, 是因?yàn)檫@里面的東西還是很多的。首先看個(gè)例子。

如上的案例都是限制了參數(shù)個(gè)數(shù)的, 最多傳三個(gè)參數(shù) name/age/city , 但是如果有一些特例,需要傳多個(gè)參數(shù)怎么辦呢。 參數(shù)前面加個(gè) * , 變成 可變參數(shù) 。

那如果想要傳多個(gè)包含名稱的參數(shù),例如a=1,b=2,c=3......,那該怎么寫呢。參數(shù)前面加個(gè) ** , 變成 關(guān)鍵字參數(shù) 。

python所有內(nèi)置函數(shù)的定義詳解

1、定義函數(shù)

函數(shù)是可重用的程序。本書中已經(jīng)使用了許多內(nèi)建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒(méi)自定義過(guò)函數(shù)。定義函數(shù)的語(yǔ)法格式如下:

def 函數(shù)名(參數(shù)):

函數(shù)體

定義函數(shù)的規(guī)則如下:

①關(guān)鍵字def用來(lái)定義一個(gè)函數(shù),它是define的縮寫。

②函數(shù)名是函數(shù)的唯一標(biāo)識(shí),函數(shù)名的命名規(guī)則遵循標(biāo)識(shí)符的命名規(guī)則。

③函數(shù)名后面一定要緊跟著一個(gè)括號(hào),括號(hào)內(nèi)的參數(shù)是可選的,括號(hào)后面要有冒號(hào)。

④函數(shù)體(statement)為一個(gè)或一組Python語(yǔ)句,注意要有縮進(jìn)。

⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號(hào)括起來(lái)。

按照定義規(guī)則,可以定義第一個(gè)函數(shù)了:

def?hello_world():

...?????print('Hello,world!')???#?注意函數(shù)體要有縮進(jìn)

...

hello_world()

Hello,world!

這個(gè)函數(shù)不帶任何參數(shù),它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調(diào)用函數(shù),即讓Python執(zhí)行函數(shù)的代碼。

2、全局變量和局部變量

全局變量是定義在所有函數(shù)外的變量。例如,定義一個(gè)全局變量a,分別在函數(shù)test1()和test2()使用變量a:

a?=?100???#?全局變量

def?test1():

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

test2()

100

定義了全局變量a之后,在函數(shù)test1()和test2()內(nèi)都可以使用變量a,由此可知,全局變量的作用范圍是全局。

局部變量是在函數(shù)內(nèi)定義的變量,除了用關(guān)鍵字global修飾的變量以外。例如,在函數(shù)test1()內(nèi)定義一個(gè)局部變量a,分別在函數(shù)外和另一個(gè)函數(shù)test2()內(nèi)使用變量a:

def?test1():

...?????a?=?100???#?局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

NameError:?name?'a'?is?not?defined

test2()

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

File?"stdin",?line?2,?in?test2

NameError:?name?'a'?is?not?defined

Python解釋器提示出錯(cuò)了。由于局部變量a定義在函數(shù)test1()內(nèi),因此,在函數(shù)test1()內(nèi)可以使用變量a,但是在函數(shù)外或者另一個(gè)函數(shù)test2()內(nèi)使用變量a,都會(huì)報(bào)錯(cuò),由此可見(jiàn),局部變量的作用范圍是定義它的函數(shù)內(nèi)部。

一般情況下,在函數(shù)內(nèi)聲明的變量都是局部變量,但是采用關(guān)鍵字global修飾的變量卻是全局變量:

def?test1():

...?????global?a???#?全局變量

...?????a?=?100

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

100

test2()

100

這個(gè)程序與上個(gè)程序相比,只是在函數(shù)test1()中多了一行代碼“global a”,程序便可以正確運(yùn)行了。在函數(shù)test1()中,采用關(guān)鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數(shù)內(nèi)使用,還可以在函數(shù)外或者其他函數(shù)內(nèi)使用。

如果在某個(gè)函數(shù)內(nèi)局部變量與全局變量同名,那么在該函數(shù)中局部變量會(huì)覆蓋全局變量:

a?=?100???#?全局變量

def?test1():

...?????a?=?200???#?同名局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

200

test2()

100

由于在函數(shù)test1()中定義了一個(gè)與全局變量同名的局部變量a,因此,在函數(shù)test1()中全局變量a的值被局部變量覆蓋了,但是在函數(shù)test2()中全局變量a的值沒(méi)有被覆蓋。

綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個(gè)腳本文件使用;而局部變量只用于臨時(shí)保存數(shù)據(jù),變量?jī)H供局部代碼塊使用。

什么是Python內(nèi)置函數(shù)

所謂的內(nèi)置函數(shù),就是Python給你提供的,直接可以拿來(lái)使用的函數(shù),比如說(shuō)print、input等。常見(jiàn)的內(nèi)置函數(shù)如下:

第一、help()函數(shù)

Help()函數(shù)的參數(shù)分為兩種:如果傳一個(gè)字符串做參數(shù)的話,它會(huì)自動(dòng)搜索以這個(gè)字符串命名的模塊、方法等;如果傳入的是一個(gè)對(duì)象,就會(huì)顯示這個(gè)對(duì)象的類型的幫助。比如輸入help(‘print’),它就會(huì)尋找以‘print’為名的模塊、類等,找不到就會(huì)看到提示信息;而print在Python里是一個(gè)保留字,和pass、return同等,而非對(duì)象,所以help(print)也會(huì)報(bào)錯(cuò)。

第二、dir()函數(shù)

dir()函數(shù)返回任意對(duì)象的屬性和方法列表,包含模塊對(duì)象、函數(shù)對(duì)象、字符串對(duì)象、列表對(duì)象、字典對(duì)象等。盡管查找和導(dǎo)入模塊相對(duì)容易,但是記住每個(gè)模塊包含什么卻不是這么簡(jiǎn)單,您并不希望總是必須查看源代碼來(lái)找出答案。Python提供了一種方法,可以使用內(nèi)置的dir()函數(shù)來(lái)檢查模塊的內(nèi)容,當(dāng)你為dir()提供一個(gè)模塊名的時(shí)候,它返回模塊定義的屬性列表。dir()函數(shù)適用于所有對(duì)象的類型,包含字符串、整數(shù)、列表、元組、字典、函數(shù)、定制類、類實(shí)例和類方法。

第三、input與raw_input函數(shù)

都是用于讀取用戶輸入的,不同的是input()函數(shù)期望用戶輸入的是一個(gè)有效的表達(dá)式,而raw_input()函數(shù)是將用戶的輸入包裝成一個(gè)字符串。

第四、Print()函數(shù)

Print在Python3版本之間是作為Python語(yǔ)句使用的,在Python3里print是作為函數(shù)使用的。

第五、type()函數(shù)

Type()函數(shù)返回任意對(duì)象的數(shù)據(jù)類型。在types模塊中列出了可能的數(shù)據(jù)類型,這對(duì)于處理多種數(shù)據(jù)類型的函數(shù)非常有用,它通過(guò)返回類型對(duì)象來(lái)做到這一點(diǎn),可以將這個(gè)類型對(duì)象與types模塊中定義類型相比較。


分享文章:python定義內(nèi)部函數(shù) python函數(shù)內(nèi)部定義的變量
當(dāng)前地址:http://weahome.cn/article/hhcpdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部