最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

六星源課堂:Python學(xué)習(xí)tips

2022-04-12 10:07 作者:六星源課堂  | 我要投稿

1.快速排列

是一種效率很高的排序算法,是對冒泡排序的一種改進(jìn)排序算法??焖倥判蚴紫热我膺x取一個(gè)數(shù)據(jù)(通常選待排序列表中的第一個(gè)數(shù))作為基準(zhǔn)數(shù)據(jù),將待排序列表中的數(shù)據(jù)分割成獨(dú)立的兩部分,所有比基準(zhǔn)數(shù)據(jù)小的數(shù)都放到它左邊,所有比基準(zhǔn)數(shù)據(jù)大的數(shù)都放到它右邊,此時(shí)基準(zhǔn)數(shù)據(jù)排序完成,第一輪快速排序完成。然后再按此方法對兩部分的數(shù)據(jù)分別進(jìn)行快速排序,整個(gè)排序過程可以遞歸進(jìn)行,直到被分割的數(shù)據(jù)只有一個(gè)或零個(gè)時(shí),遞歸結(jié)束,列表排序完成??焖倥判虻拿制鸬煤唵沃苯樱?yàn)檫@種排序算法速度快,效率高,是處理大數(shù)據(jù)最快的排序算法之一。

2.多態(tài)是指一類事物有多種形態(tài),比如動(dòng)物類,可以有貓,狗,豬等等。(一個(gè)抽象類有多個(gè)子類,因而多態(tài)的概念依賴于繼承)。

多態(tài)性是指具有不同功能的函數(shù)開源使用相同的函數(shù)名,這樣就可以用一個(gè)函數(shù)名調(diào)用不同內(nèi)容的函數(shù)。在面向?qū)ο蠓椒ㄖ幸话闶沁@樣表述多態(tài)性:向不同的對象發(fā)送同一條消息,不同的對象在接收時(shí)會(huì)產(chǎn)生不同的行為(即方法)。也就是說,每個(gè)對象可以用自己的方式去響應(yīng)共同的消息。所謂消息,就是調(diào)用函數(shù),不同的行為就是指不同的實(shí)現(xiàn),即執(zhí)行不同的函數(shù)。

調(diào)用不同的子類將會(huì)產(chǎn)生不同的行為,而無須明確知道這個(gè)子類實(shí)際上是什么,這是多態(tài)的重要應(yīng)用場景。而在python中,因?yàn)轼喿宇愋?duck typing)使得其多態(tài)不是那么酷。鴨子類型是動(dòng)態(tài)類型的一種風(fēng)格。在這種風(fēng)格中,一個(gè)對象有效的語義,不是由繼承自特定的類或?qū)崿F(xiàn)特定的接口,而是由"當(dāng)前方法和屬性的集合"決定。

3.Python中的內(nèi)存分配和管理

在python中,一切都是對象,可能無法控制內(nèi)存分配,但是您可以優(yōu)化程序來更好地分配內(nèi)存。值存儲(chǔ)在內(nèi)存中,并且變量指向該內(nèi)存位置,在python中,整個(gè)對象存儲(chǔ)在內(nèi)存中,對象可以是整數(shù)、字符串或列表,以及指向?qū)ο蟮淖兞俊榱死斫?,讓我們了解python對象的作用!內(nèi)存中的PyObject:1.類型(type):整數(shù)、字符串、浮點(diǎn)數(shù)等2.引用計(jì)數(shù)(ref count):綁定到該對象的引用的數(shù)量3.值(value):值/數(shù)據(jù)/信息。變量“ a”和“ b”值相等,具有相同的id(內(nèi)存位置),因此表示相同的對象,而c有不同的id值。當(dāng)前三個(gè)變量在內(nèi)存中有兩個(gè)python對象。現(xiàn)在,如果我們?yōu)椤?a”分配一個(gè)新值,即a = 3。?“ a”指向一個(gè)新對象,而 “ b”仍然指向原對象。一旦對象的ref count變?yōu)?,垃圾收集器就會(huì)將其從內(nèi)存中刪除。

4.Python2.x 與 3.x 版本區(qū)別:

print 語句沒有了,取而代之的是?print()?函數(shù)。

Python 2 有 ASCII str() 類型,unicode() 是單獨(dú)的,不是 byte 類型。在 Python 3,我們最終有了 Unicode (utf-8) 字符串,以及一個(gè)字節(jié)類:byte 和 bytearrays。由于 Python3.x 源碼文件默認(rèn)使用 utf-8 編碼,所以使用中文就更加方便了。

在 Python 2.x 中?/?除法,整數(shù)相除的結(jié)果是一個(gè)整數(shù),把小數(shù)部分完全忽略掉,浮點(diǎn)數(shù)除法會(huì)保留小數(shù)點(diǎn)的部分得到一個(gè)浮點(diǎn)數(shù)的結(jié)果。在 Python 3.x 中?/?除法不再這么做了,對于整數(shù)之間的相除,結(jié)果也會(huì)是浮點(diǎn)數(shù)。

在 Python 3 中處理異常也輕微的改變了,在 Python 3 中我們現(xiàn)在使用 as 作為關(guān)鍵詞。捕獲異常的語法由?except exc, var?改為?except exc as var。使用語法except (exc1, exc2) as var 可以同時(shí)捕獲多種類別的異常。Python 2.6 已經(jīng)支持這兩種語法。在 2.x 時(shí)代,所有類型的對象都是可以被直接拋出的,在 3.x 時(shí)代,只有繼承自BaseException的對象才可以被拋出。2.x raise 語句使用逗號將拋出對象類型和參數(shù)分開,3.x 取消了這種奇葩的寫法,直接調(diào)用構(gòu)造函數(shù)拋出對象即可。

數(shù)據(jù)類型)Py3.X去除了long類型,現(xiàn)在只有一種整型——int,但它的行為就像2.X版本的long,新增了bytes類型,對應(yīng)于2.X版本的八位串,定義一個(gè)bytes字面量的方法如下:

不等運(yùn)算符:Python 2.x中不等于有兩種寫法 != 和 <>,Python 3.x中去掉了<>, 只有!=一種寫法。

5.約束

什么是接口以及作用?接口時(shí)一種數(shù)據(jù)類型,主要用于約束派生類中必須實(shí)現(xiàn)指定的方法。Python中不存在,Java和C# 中是存在的。

Python中使用過什么來約束呢?抽象類+抽象方法;人為主動(dòng)拋出異常。

約束時(shí),拋出的異常是否可以用其他的?

不專業(yè):raise Exception(".send() 必須被重寫.")

專業(yè):raise NotImplementedError(".send() 必須被重寫.")。

應(yīng)用場景:多個(gè)類,內(nèi)部都必須有某些方法時(shí),需要使用基類+異常進(jìn)行約束。

以上就是本次分享的全部內(nèi)容,想要學(xué)習(xí)編程的小伙伴們,歡迎前往六星源課堂,獲取更多技能與教程。

六星源課堂:Python學(xué)習(xí)tips的評論 (共 條)

分享到微博請遵守國家法律
盘锦市| 行唐县| 乐陵市| 苏尼特右旗| 临猗县| 临安市| 赞皇县| 克拉玛依市| 马边| 丰都县| 东方市| 东乡县| 葫芦岛市| 新田县| 虎林市| 临夏市| 盐亭县| 琼结县| 南投市| 临江市| 汤原县| 峡江县| 吴忠市| 乾安县| 酒泉市| 黄陵县| 宁安市| 石门县| 开封市| 中牟县| 安吉县| 新密市| 吉安市| 应城市| 贞丰县| 五原县| 临泉县| 绥化市| 祥云县| 玉溪市| 枝江市|