国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

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

            千鋒教育

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

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

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

            當(dāng)前位置:首頁  >  技術(shù)干貨  > python 高級特性

            python 高級特性

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-08 05:46:01 1699393561

            Python中,代碼不是越多越好,而是越少越好。代碼不是越復(fù)雜越好,而是越簡單越好。請始終牢記,代碼越少,開發(fā)效率越高。

            △切片

            取一個list或tuple或字符串的指定索引范圍的部分元素,Python提供了切片(Slice)操作符。

            L[0:3]表示,從索引0開始取,直到索引3為止,但不包括索引3,如果第一個索引是0,還可以省略;記住倒數(shù)第一個元素的索引是-1。

            △迭代

            如果給定一個list或tuple,我們可以通過for循環(huán)來遍歷這個list或tuple,這種遍歷我們稱為迭代(Iteration)。

            在Python中,迭代是通過for...in來完成的。只要作用于一個可迭代對象,for循環(huán)就可以正常運行。

            如何判斷一個對象是可迭代對象呢?方法是通過collections模塊的Iterable類型判斷:

            1>>>fromcollectionsimportIterable

            2>>>isinstance('abc',Iterable)#str是否可迭代

            3True

            4>>>isinstance([1,2,3],Iterable)#list是否可迭代

            5True

            6>>>isinstance(123,Iterable)#整數(shù)是否可迭代

            7False

            Python內(nèi)置的enumerate函數(shù)可以把一個list變成索引-元素對:

            1>>>fori,valueinenumerate(['A','B','C']):

            2...print(i,value)

            3...

            40A

            51B

            62C

            △列表生成式

            列表生成式即ListComprehensions,是Python內(nèi)置的非常簡單卻強(qiáng)大的可以用來創(chuàng)建list的生成式。

            寫列表生成式時,把要生成的元素x*x放到前面,后面跟for循環(huán),for循環(huán)后面還可以加上if判斷:

            1

            2>>>[x*xforxinrange(1,11)ifx%2==0]

            [4,16,36,64,100]

            △生成器

            在Python中,這種列表元素可以按照某種算法推算出來,一邊循環(huán)一邊計算的機(jī)制,稱為生成器:generator。

            要創(chuàng)建一個generator,有很多種方法。

            第一種方法很簡單,只要把一個列表生成式的[]改成(),就創(chuàng)建了一個generator:

            1>>>L=[x*xforxinrange(10)]#列表生成式

            2>>>L

            3[0,1,4,9,16,25,36,49,64,81]

            4>>>g=(x*xforxinrange(10))#生成器

            5>>>g

            6at0x1022ef630>

            打印出generator的每一個元素,正確的方法是使用for循環(huán),因為generator也是可迭代對象:

            1>>>g=(x*xforxinrange(10))

            2>>>forning:

            3...print(n)

            4...

            50

            61

            74

            89

            916

            1025

            1136

            1249

            1364

            1481

            定義generator的另一種方法。如果一個函數(shù)定義中包含yield關(guān)鍵字,那么這個函數(shù)就不再是一個普通函數(shù),而是一個generator。

            generator和函數(shù)的執(zhí)行流程不一樣。函數(shù)是順序執(zhí)行,遇到return語句或者最后一行函數(shù)語句就返回。而變成generator的函數(shù),在每次調(diào)用next()的時候執(zhí)行,遇到y(tǒng)ield語句返回,再次執(zhí)行時從上次返回的yield語句處繼續(xù)執(zhí)行。但是用for循環(huán)調(diào)用generator時,發(fā)現(xiàn)拿不到generator的return語句的返回值。如果想要拿到返回值,必須捕獲StopIteration錯誤,返回值包含在StopIteration的value中:

            小結(jié)

            generator是非常強(qiáng)大的工具,在Python中,可以簡單地把列表生成式改成generator,也可以通過函數(shù)實現(xiàn)復(fù)雜邏輯的generator。

            要理解generator的工作原理,它是在for循環(huán)的過程中不斷計算出下一個元素,并在適當(dāng)?shù)臈l件結(jié)束for循環(huán)。對于函數(shù)改成的generator來說,遇到return語句或者執(zhí)行到函數(shù)體最后一行語句,就是結(jié)束generator的指令,for循環(huán)隨之結(jié)束。

            請注意區(qū)分普通函數(shù)和generator函數(shù),普通函數(shù)調(diào)用直接返回結(jié)果,generator函數(shù)的“調(diào)用”實際返回一個generator對象。

            以上內(nèi)容為大家介紹了python高級特性,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(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
            python中pop函數(shù)和remove函數(shù)的區(qū)別有哪些

            其實python中不止pop一種移除函數(shù),還有remove函數(shù),他們在python的使用過程中有什么區(qū)別嗎?本文小編就向大家介紹pop函數(shù)和remove函數(shù)在python...詳情>>

            2023-11-08 08:35:14
            python中的yield詳解

            上篇我們說到了python中的return,它在程序函數(shù)中返回某個值,返回之后函數(shù)不在繼續(xù)執(zhí)行,徹底結(jié)束。那你知不知道在python中還有一種返回值的方...詳情>>

            2023-11-08 08:17:13
            Python基礎(chǔ)之numpy中的常見函數(shù)有哪些

            有些Python小白對numpy中的常見函數(shù)不太了解,今天小編就整理出來分享給大家。Numpy是Python的一個科學(xué)計算的庫,提供了矩陣運算的功能,其一般...詳情>>

            2023-11-08 08:13:37
            python中如何分解質(zhì)因數(shù)?

            大家知不知道和質(zhì)數(shù)相差一字的質(zhì)因數(shù)是什么呢?其實質(zhì)因數(shù)就是質(zhì)數(shù),質(zhì)因數(shù)在數(shù)論指能整除給定正整數(shù)的質(zhì)數(shù)。除1外,沒有其他公共質(zhì)數(shù)因子的兩個...詳情>>

            2023-11-08 08:06:25
            在python中如何打亂數(shù)據(jù)?

            在玩python學(xué)習(xí)機(jī)器時,對于那種對隨機(jī)性不太敏感的模型,理論上說可以不打亂。但敏感不敏感也跟數(shù)據(jù)量級,復(fù)雜度,算法內(nèi)部計算機(jī)制都有關(guān),目...詳情>>

            2023-11-08 08:02:49