def 函數(shù)名():? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的臨澧網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
? ?函數(shù)體? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?return? 返回值? ? ? ? ? ? ? ? ? ? ? ? ? ??
def 函數(shù)名(非可選參數(shù),可選參數(shù)):
???函數(shù)體?
return 返回值
def 函數(shù)名(參數(shù),*b):
? ? 函數(shù)體
? ? return 返回值
函數(shù)名 = lambda 參數(shù) : 表達(dá)式
例1:f = lambda x , y? :? x + y? ? ? ? ? ? ? ? ? ? ? ??
調(diào)用:f(6 + 8)? ? ?輸出:14? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
例2:?f = lambda : "沒有參數(shù)的lambda函數(shù)!"
調(diào)用:?print(f())? ? 輸出: 沒有參數(shù)的lambda函數(shù)!
python的內(nèi)置函數(shù)(68個(gè))
Python考核31個(gè)內(nèi)置函數(shù),
python內(nèi)置了很多內(nèi)置函數(shù)、類方法屬性及各種模塊。當(dāng)我們想要當(dāng)我們想要了解某種類型有哪些屬性方法以及每種方法該怎么使用時(shí),我們可以使用dir()函數(shù)和help()函數(shù)在python idle交互式模式下獲得我們想要的信息。
? dir()函數(shù)獲得對(duì)象中可用屬性的列表
Python中的關(guān)鍵詞有哪些?
dir(__builtins__):查看python內(nèi)置函數(shù)
help(‘keywords‘):查看python關(guān)鍵詞
如微分積分方程的求解程序、訪問互聯(lián)網(wǎng)、獲取日期和時(shí)間、機(jī)器學(xué)習(xí)算法等。這些程序往往被收入程序庫中,構(gòu)成程序庫。
只有經(jīng)過嚴(yán)格檢驗(yàn)的程序才能放在程序庫里。檢驗(yàn),就是對(duì)程序作充分的測(cè)試。通常進(jìn)行的有正確性測(cè)試、精度測(cè)試、速度測(cè)試、邊界條件和出錯(cuò)狀態(tài)的測(cè)試。經(jīng)過檢驗(yàn)的程序不但能保證計(jì)算結(jié)果的正確性,而且對(duì)錯(cuò)誤調(diào)用也能作出反應(yīng)。程序庫中的程序都是規(guī)范化的。所謂規(guī)范化有三重含義:①同一庫里所有程序的格式是統(tǒng)一的;② 對(duì)這些程序的調(diào)用方法是相同的;③ 每個(gè)程序所需參數(shù)的數(shù)目、順序和類型都是嚴(yán)格規(guī)定好的。
Python的庫包含標(biāo)準(zhǔn)庫和第三方庫
標(biāo)準(zhǔn)庫:程序語言自身擁有的庫,可以直接使用。help('modules')
第三方庫:第三方者使用該語言提供的程序庫。
標(biāo)準(zhǔn)庫: turtle 庫(必選)、 random 庫(必選)、 time 庫(可選)。
? turtle 庫:圖形繪制庫
原理如同控制一只海龜,以不同的方向和速度進(jìn)行位移而得到其運(yùn)動(dòng)軌跡。
使用模塊的幫助時(shí),需要先將模塊導(dǎo)入。
例如:在IDLE中輸入import turtle
dir(turtle)
help(turtle.**)
1.畫布
畫布就是turtle為我們展開用于繪圖區(qū)域, 我們可以設(shè)置它的大小和初始位置。
setup()方法用于初始化畫布窗口大小和位置,參數(shù)包括畫布窗口寬、畫布窗口高、窗口在屏幕的水平起始位置和窗口在屏幕的垂直起始位置。
參數(shù):width, height: 輸入寬和高為整數(shù)時(shí),表示 像素 ;為小數(shù)時(shí),表示占據(jù)電腦屏幕的比例。(startx,starty):這一坐標(biāo)表示
矩形窗口左上角頂點(diǎn)的位置,如果為空,則窗口位于屏幕中心:
例如:setup(640,480,300,300)表示在桌面屏幕(300,300)位置開始創(chuàng)建640×480大小的畫布窗體。
2、畫筆
? color() 用于設(shè)置或返回畫筆顏色和填充顏色。
例如:color(‘red’)將顏色設(shè)為紅色,也可用fillcolor()方法設(shè)置或返回填充顏色,或用pencolor()方法設(shè)置或返回筆觸顏色。
Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):
(1)Lambda函數(shù)
用于創(chuàng)建匿名函數(shù),即沒有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來執(zhí)行單個(gè)操作并且可以在一行中編寫時(shí),就可以用到匿名函數(shù)了。
Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。
(2)Map函數(shù)
會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來返回一個(gè)大寫的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。
我們還可以使用匿名函數(shù)lamdba來配合map函數(shù),這樣可以更加精簡(jiǎn)。
(3)Reduce函數(shù)
當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。
它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。
(4)enumerate函數(shù)
用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。
它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開始,也可以自定義計(jì)數(shù)器的起始編號(hào)。
(5)Zip函數(shù)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表
當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。
通過關(guān)鍵字def來創(chuàng)建函數(shù),def的作用是實(shí)現(xiàn)python中函數(shù)的創(chuàng)建
函數(shù)定義過程:
函數(shù)名+()小括號(hào)執(zhí)行函數(shù)
函數(shù)體內(nèi)對(duì)全局變量只能讀取,不能修改
局部變量,無法在函數(shù)體外使用
python 使用 lambda 來創(chuàng)建匿名函數(shù)。
所謂匿名,意即不再使用 def 語句這樣標(biāo)準(zhǔn)的形式定義一個(gè)函數(shù)。
1、定義函數(shù)
函數(shù)是可重用的程序。本書中已經(jīng)使用了許多內(nèi)建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒自定義過函數(shù)。定義函數(shù)的語法格式如下:
def 函數(shù)名(參數(shù)):
函數(shù)體
定義函數(shù)的規(guī)則如下:
①關(guān)鍵字def用來定義一個(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語句,注意要有縮進(jìn)。
⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號(hào)括起來。
按照定義規(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ò),由此可見,局部變量的作用范圍是定義它的函數(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的值沒有被覆蓋。
綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個(gè)腳本文件使用;而局部變量只用于臨時(shí)保存數(shù)據(jù),變量?jī)H供局部代碼塊使用。
函數(shù)調(diào)用的基本語法格式如下所示:
[返回值] = 函數(shù)名([形參值])
其中,函數(shù)名即指的是要調(diào)用的函數(shù)的名稱;形參值指的是當(dāng)初創(chuàng)建函數(shù)時(shí)要求傳入的各個(gè)形參的值。如果該函數(shù)有返回值,我們可以通過一個(gè)變量來接收該值,當(dāng)然也可以不接受。
新聞名稱:python自身函數(shù)設(shè)置 python怎么調(diào)用自定義的函數(shù)
文章位置:http://m.newbst.com/article28/hjpjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、建站公司、全網(wǎng)營銷推廣、網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)