一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python程序的常見編程范型

Python程序的常見編程范型

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-06 21:03:54 1699275834

學(xué)習(xí)Python有一段時(shí)間了,期間參考了很多大神的Python文章,主要因?yàn)樽约旱挠?jì)算機(jī)基礎(chǔ)不是很好,學(xué)的時(shí)候有點(diǎn)磕磕絆絆,但是一道走來,總算覺得自己算是有點(diǎn)兒入門了。因此,總結(jié)一下自己的心得體會和學(xué)習(xí)過程,希望能寫出一個(gè)系列文章,與眾多希望自學(xué)Python的新手共享,希望能讓大家少走一些彎路。

2.1編程范型:函數(shù)式和面向?qū)ο笫?/p>

編寫計(jì)算機(jī)程序的范型常見的有函數(shù)式和面向?qū)ο笫絻煞N,Python的實(shí)際應(yīng)用中這兩種范型常常是混合使用的。函數(shù)式編程范型出現(xiàn)的時(shí)間較早,在這種編程范型下,常常把將要反復(fù)使用的程序代碼用函數(shù)封裝起來,需要使用時(shí)對其進(jìn)行調(diào)用。比如,下面的Python代碼實(shí)現(xiàn)了數(shù)學(xué)中求絕對值的功能:

defmy_abs(number):#函數(shù)頭格式:def函數(shù)名(參數(shù)列表):

ifnumber<0.0:return-number#返回值

else:returnnumber#返回值

這樣,每當(dāng)我們需要求一個(gè)數(shù)的絕對值時(shí),只要如下調(diào)用就可以了:

f=-0.5

abs_f=my_abs(f)

print(abs)

它運(yùn)行的結(jié)果是:

$0.5

從上面的例子中可見,函數(shù)式編程把函數(shù)看作一種操作(或運(yùn)算),操作的步驟和方法封裝在函數(shù)中,一旦確定,就不可更改,而操作中可變的部分,稱作參數(shù),以函數(shù)參數(shù)的方式傳遞,函數(shù)參數(shù)可以改變函數(shù)運(yùn)行的結(jié)果,但是不能改變函數(shù)運(yùn)行的步驟和運(yùn)算的方法。可以用返回值表示函數(shù)運(yùn)算的結(jié)果,這個(gè)返回值作為函數(shù)的值可以賦給別的變量。函數(shù)也可以沒有返回值(這時(shí)返回值默認(rèn)為Python常量None),這時(shí)它們只是對于給定的參數(shù)執(zhí)行固定的操作步驟。

面向?qū)ο笫骄幊淌呛瘮?shù)式編程之后出現(xiàn)的一種編程范型,可以用現(xiàn)實(shí)世界中的電視機(jī)作為例子進(jìn)行類比。電視機(jī)作為一個(gè)抽象概念,我們都知道它是什么含義,但某個(gè)型號的電視機(jī)屏幕的大小、材質(zhì);電路板的品牌、型號;外殼的大小、材質(zhì)….;如何選臺、如何調(diào)節(jié)亮度、如何調(diào)節(jié)音量等細(xì)節(jié)是由該型號的電視機(jī)生產(chǎn)方案和模具等決定的。而一臺這種型號的電視機(jī)生產(chǎn)出來,進(jìn)入家庭以后,它正在收看什么節(jié)目、屏幕的亮度、色彩、揚(yáng)聲器的音量等參數(shù)由每個(gè)家庭通過操作遙控器進(jìn)行設(shè)定,它們之間各不相關(guān)。當(dāng)我們需要對電視生產(chǎn)過程設(shè)計(jì)一個(gè)程序時(shí),這個(gè)例子中的電視機(jī)作為源頭上的概念,可以作為一個(gè)基類(父類)實(shí)現(xiàn):它規(guī)定了電視機(jī)都有屏幕、電路板、外殼、揚(yáng)聲器、遙控器、電源…。某個(gè)型號的電視機(jī)生產(chǎn)方案和模具,可以作為電視機(jī)基類的派生類(子類)實(shí)現(xiàn),它規(guī)定了該型號電視機(jī)共有的物理特征、出廠狀態(tài)以及對該型號電視機(jī)可執(zhí)行的操作。通過對電視機(jī)生產(chǎn)方案的實(shí)施,可以將該類實(shí)例化,形成一個(gè)個(gè)對象,即一臺臺電視機(jī),可以對每臺電視機(jī)進(jìn)行分別操作實(shí)現(xiàn)選臺、調(diào)節(jié)亮度、調(diào)節(jié)音量等操作,電視機(jī)會記住這些狀態(tài)。

從上面的例子中,我們可以看到,面向?qū)ο笫骄幊躺婕暗搅祟惡蛯ο髢蓚€(gè)概念,它的特點(diǎn)是把程序所要處理的某類對象抽象出來,編寫成表示一個(gè)類的代碼。這個(gè)類可以含有表示狀態(tài)的數(shù)據(jù)和表示操作的代碼。編碼時(shí),對這個(gè)類進(jìn)行實(shí)例化,形成一個(gè)具體的對象,對于這個(gè)對象,可以有自己獨(dú)特的狀態(tài)和操作,而根據(jù)該類實(shí)例化的對象之間的狀態(tài)值和操作值可以不同。編碼時(shí),我們常用屬于該對象的變量表示狀態(tài),用屬于該對象的函數(shù)表示操作。可見,面向?qū)ο缶幊绦枰玫胶瘮?shù)式編程的概念和成果。

由于面向?qū)ο笫骄幊梯^為復(fù)雜,我們在本教程中只講解函數(shù)式編程。需要知道的是,由于Python本身的特點(diǎn):Python中的任何事物都是對象。所以,即使只講函數(shù)式編程,也會涉及不少的面向?qū)ο蟮闹R。同時(shí),即使我們著重于講述函數(shù)式編程,它也有足夠的能力完成相當(dāng)復(fù)雜的任務(wù)。

2.2一個(gè)函數(shù)式程序的例子

科學(xué)中,常常用到攝氏溫度到華氏溫度的轉(zhuǎn)換。我們編寫一個(gè)Python代碼實(shí)現(xiàn)它:

#代碼2.1攝氏溫度到華氏溫度的轉(zhuǎn)換

#coding:utf-8#程序中使用中文需要用到這行代碼

defft_from_ct(ct):#參數(shù):ct表示攝氏溫度

returnct*9.0/5+32

#攝氏溫度0-100轉(zhuǎn)換為華氏溫度,間隔10攝氏度

print("攝氏溫度華氏溫度")

forctinrange(0,101,10):

print("{0:8d}--{1:6.2f}".format(ct,ft_from_ct(ct))

在這個(gè)短小的代碼中,已有豐富的內(nèi)容,且讓我一一道來。

第1行注釋,以#開頭,到本行結(jié)束為止,都是注釋。注釋可以像第3行那樣從代碼的尾部開始

第2行#coding:utf-8說明程序代碼使用了Unicode字符,這個(gè)東東可以讓Python程序使用中文

第3行函數(shù)頭,格式為def函數(shù)名(參數(shù)列表):

第4行這行有縮進(jìn),4個(gè)空格字符,Python用縮進(jìn)表示程序結(jié)構(gòu),同級縮進(jìn)表示同級代碼。本行代碼是函數(shù)ft_from_ct()的代碼,表示返回計(jì)算式的結(jié)果

第6行注釋

第7行輸出雙引號括起的字符串

第8行for循環(huán),這是循環(huán)頭,表示對range(0,101,10)中的每個(gè)取值ct進(jìn)行循環(huán)操作。range(0,101,10)也是一個(gè)函數(shù),它的運(yùn)算結(jié)果為從0開始取值,步長為10,到101為止,但不包括101,即[0,10,20,30,40,50,60,70,80,100]。

第9行for循環(huán)的循環(huán)體,同樣有縮進(jìn),按格式輸出攝氏溫度和對應(yīng)的華氏溫度

Python中的函數(shù)式編程模式基本上就是像上面這樣了,實(shí)際應(yīng)用中一般還會導(dǎo)入函數(shù)庫和使用分支語句、循環(huán)語句,并且常常會用到分支語句、循環(huán)語句的嵌套,內(nèi)置函數(shù)、庫函數(shù)、自定義的函數(shù)和函數(shù)調(diào)用也會多一些,但基本結(jié)構(gòu)就是如這個(gè)例子所述。

以上內(nèi)容為大家介紹了Python程序的常見編程范型,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.fengjieshuijing.cn/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT