2021 2 6課程摘要(邏輯教育 王勁勝)

2021-10-19 22:46:07 字數 2668 閱讀 9537

1、推導式

推導式分為 列表推導式、字典推導式、集合推導式等。在這裡我們主要說其中一種也是用的最多列表推導式。

列表推導式是python構建列表(list)的一種快捷方式,可以使用簡潔的**就建立出乙個列表簡單理解就是由乙個舊的列表來構建出乙個新的列表。

語法:

[表示式 for 變數 in 舊列表]

[表示式 for 變數 in 舊列表 if 條件]

2、生成器

(1)背景

通過列表推導式我們可以直接建立出乙個列表,但是受到記憶體的限制,我們不可能創造出乙個無限大的列表。而且建立乙個有200萬個元素的列表,會占用很大的記憶體空間,而這個時候我們僅僅需要訪問列表中幾個元素,那麼後面的元素就占用著空間就是一種浪費的行為。那麼我們可不可以用幾個元素就建立出幾個元素。這樣在一定程度上就優化了記憶體。那麼在python中有一種一邊迴圈一邊計算的機制就是生成器。

(2)建立生成器的方式

通過列表推導式的方式

g = (x * 3 for x in range(10))

通過函式的方式

def fu():

n = 0

while true:

n += 1

yield n

只要在函式**現yield關鍵字它就是乙個生成器函式。

3、迭代器

迭代器是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有元素被訪問完結束。

可以被next()函式呼叫並不斷返回下乙個值的物件稱為迭代器iterator。

生成器是可迭代的,也是迭代器。

列表是可迭代的,但不是迭代器。

通過iter()函式可以將可迭代的變成乙個迭代器。

1、物件導向簡介

• python是一門物件導向的程式語言。

• 所謂物件導向的語言,簡單理解就是語言中的所有操作都是通過物件來進行的。

• 面向過程。

• 面向過程指將我們的程式分解為乙個乙個步驟,通過對每個步驟的抽象來完成程式。

• 這種編寫方式往往只適用於乙個功能,如果要實現別的功能,往往復用性比較低。

• 這種程式設計方式符號人類的思維,編寫起來比較容易。

• 1.媽媽穿衣服穿鞋出門

• 2.媽媽騎上電動車

• 3.媽媽到超市門口放好電動車

• 4.媽媽買西瓜

• 5.媽媽結賬

• 6.媽媽騎電動車回家

• 7.到家孩子吃西瓜

• 物件導向的程式語言,關注的是物件,而不注重過程,對於物件導向一切皆物件。

• 以上方式可以用 孩子媽媽給孩子買瓜來解決。

• 物件導向的程式設計思想,將所有功能統一儲存到對應的物件中,要使用某個功能,直接找到對應的物件即可。

• 這種編碼方式比較容易閱讀,並且易於維護,容易復用。但是編寫的過程中不太符合常規的思維,編寫相對麻煩。

2、類(class)

• 我們目前學習的都是python的內建物件,但是內建物件並不都能滿足我們的需求,所以我們在開發中經常要自定義一些物件。

• 類簡單理解它就是相當於乙個圖紙,在程式彙總我們需要根據類來建立物件。

• 類就是物件的圖紙。

• 我們也稱物件是類的例項(instance)。

• 如果多個物件是通過乙個類建立的,我們稱這些物件是一類物件。

#語法class 類名([父類]):

pass

• 類也是乙個物件,類就是用來建立物件的物件。

• 可以像物件中新增變數,物件中的變數稱之為屬性 語法:物件.屬性名 = 屬性值。

3、類的定義

• 類和物件都是對現實生活中事物的抽象。

• 事物包含兩部分

• 1. 資料(屬性)

• 2. 行為(方法)

• 呼叫方法 物件.方法名()

• 方便呼叫和函式呼叫的區別:如果是函式呼叫,呼叫時有幾個形參,就會傳遞幾個實參。如果是方法呼叫,預設傳遞乙個引數,所以方法中至少得有乙個形參。

• 在類**塊中,我們可以定義變數和函式。

• 變數會成為該類例項的公共屬性,所有的該例項都可以通過 物件.屬性名的形式訪問。

• 函式會成為該類例項的公共方法,所有該類例項都可以通過 物件.方法名的形式訪問。

2017 課程總結

o 這一學期學習印象最深刻便是以順序和鏈式為基礎,演算法庫為輔,學習了線性表,棧和佇列,串和遞迴陣列。同時也學習了樹,並且以樹為基礎學習了圖,從邏輯結構上講包含著線性結構.非線性結構.索引結構和雜湊結構四種,其中以線性結和非線性結構為主。同時在每個演算法的學習上都進行演算法複雜度的計算,使我們對演算...

01課程介紹

1 掌握多平台c 程式的設計 編碼 除錯 發布。2 掌握select iocp epoll網路通訊模型,不同場景選擇最合適的模型。3 掌握主流平台下使用c tcp進行網路通訊。4 掌握主流遊戲引擎中使用c tcp與服務端通訊。5 掌握伺服器開發效能優化技巧。6 掌握不同平台下多執行緒 執行緒池 記憶...

20145332課程總結

第一周學習總結 第二週學習總結 第三週學習總結 第四周學習總結 第五周學習總結 第六周學習總結 第七周學習總結 第八周學習總結 第九周學習總結 第十周學習總結 實驗一實驗二 實驗三實驗四 實驗五 託管 量彙總 4000行 實現專案 對於這門課的收穫,我想說這是我上大學以來學習的最為認真的一門課,也是...