1. 程式人生 > >MIT 程式設計基礎(python)

MIT 程式設計基礎(python)

函式(計算機函式):
函式是指一段在一起的、可以做某一件事兒的程式。也叫做子程式、(OOP中)方法。

Python:
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向物件、解釋型計算機程式設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。Python是純粹的自由軟體, 原始碼和直譯器CPython遵循 GPL(GNU General Public License)協議 。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮排。Python具有豐富和強大的庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模組(尤其是C/C++)很輕鬆地聯結在一起。常見的一種應用情形是,使用Python快速生成程式的原型(有時甚至是程式的最終介面),然後對其中 有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模組,效能要求特別高,就可以用C/C++重寫,而後封裝為Python可以呼叫的擴充套件類庫。需要注意的是在您使用擴充套件類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。

實數:
實數,是有理數和無理數的總稱。數學上,實數定義為與數軸上的點相對應的數。實數可以直觀地看作有限小數與無限小數,實數和數軸上的點一一對應。但僅僅以列舉的方式不能描述實數的整體。實數和虛數共同構成複數。實數可以分為有理數和無理數兩類,或代數數和超越數兩類。實數集通常用黑正體字母 R 表示。R表示 維實數空間。實數是不可數的。實數是實數理論的核心研究物件。所有實數的集合則可稱為實數系(real number system)或實數連續統。任何一個完備的阿基米德有序域均可稱為實數系。在保序同構意義下它是惟一的,常用R表示。由於R是定義了算數運算的運算系統,故有實數系這個名稱。實數可以用來測量連續的量。理論上,任何實數都可以用無限小數的方式表示,小數點的右邊是一個無窮的數列(可以是迴圈的,也可以是非迴圈的)。在實際運用中,實數經常被近似成一個有限小數(保留小數點後 位,為正整數)。在計算機領域,由於計算機只能儲存有限的小數位數,實數經常用浮點數來表示。

浮點數:
浮點數是屬於有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中通常是2)的整數次冪得到,這種表示方法類似於基數為10的科學計數法。

大O符號:
大O符號(Big O notation)是用於描述函式漸進行為的數學符號。更確切地說,它是用另一個(通常更簡單的)函式來描述一個函式數量級的漸近上界。在數學中,它一般用來刻畫被截斷的無窮級數尤其是漸近級數的剩餘項;在電腦科學中,它在分析演算法複雜性的方面非常有用

數列:
數列(sequence of number)是以正整數集(或它的有限子集)為定義域的函式,是一列有序的數。數列中的每一個數都叫做這個數列的項。排在第一位的數稱為這個數列的第1項(通常也叫做首項),排在第二位的數稱為這個數列的第2項……排在第n位的數稱為這個數列的第n項,通常用a表示

近似演算法:
本文對幾種近似演算法做了較為祥細的介紹,主要有頂點覆蓋問題的近似演算法旅行售貨員問題近似演算法一般的旅行售貨員問題集合覆蓋問題的近似演算法子集和問題的近似演算法

交集(數學名詞):
集合論中,設,是兩個集合,由所有屬於集合且屬於集合的元素所組成的元素,叫做子集與集合的交集(intersection),記作∩。

迴歸測試:
迴歸測試是指修改了舊程式碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。自動迴歸測試將大幅降低系統測試、維護升級等階段的成本。迴歸測試作為軟體生命週期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重,軟體開發的各個階段都會進行多次迴歸測試。在漸進和快速迭代開發中,新版本的連續釋出使迴歸測試進行的更加頻繁,而在極端程式設計方法中,更是要求每天都進行若干次迴歸測試。因此,通過選擇正確的迴歸測試策略來改進迴歸測試的效率和有效性是非常有意義的。

雜湊:
關聯陣列是這樣的陣列,它的每個資料元素與一個鍵相對配對,該鍵用於識別資料元素。由於雜湊函式用來建立關聯陣列中的指定元素,並在關聯陣列中查詢指定元素,因此關聯陣列通常稱為雜湊。在某種意義上,陣列元素與列表類似,而雜湊元素的存放與幾何類似,其元素之間沒有相對次序。在Ruby中,陣列與雜湊之間的兩個最本質的區別是:陣列使用數值下標來定位特定的元素,而雜湊使用字串值(鍵)來定位元素;陣列中的元素按下標排序,而雜湊中的元素則不是。雜湊的建立方法有兩種:new方法或將一個字面量賦值給一個變數。

排序演算法:
所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序演算法,就是如何使得記錄按照要求排列的方法。排序演算法在很多領域得到相當地重視,尤其是在大量資料的處理方面。一個優秀的演算法可以節省大量的資源。在各個領域中考慮到資料的各種限制和規範,要得到一個符合實際的優秀演算法,得經過大量的推理和分析。

語法錯誤:
在電腦科學中,語法錯誤是指程式的語法有誤,編譯器或解譯器在詞法分析時無法將其轉換為適當的程式語言。

自然語言:
自然語言通常是指一種自然地隨文化演化的語言。英語、漢語、日語為自然語言的例子,而世界語則為人造語言,即是一種為某些特定目的而創造的語言。 不過,有時所有人類使用的語言(包括上述自然地隨文化演化的語言,以及人造語言)都會被視為“自然”語言,以相對於如程式語言等為計算機而設的“人造”語言。這一種用法可見於自然語言處理一詞中。自然語言是人類交流和思維的主要工具。 自然語言是人類智慧的結晶,自然語言處理是人工智慧中最為困難的問題之一,而對自然語言處理的研究也是充滿魅力和挑戰的,也是各國人表達的方法其中之一。

關鍵詞(詞語):
關鍵詞源於英文“keywords”,特指單個媒體在製作使用索引時,所用到的詞彙。是圖書館學中的詞彙。關鍵詞搜尋是網路搜尋索引主要方法之一,就是希望訪問者瞭解的產品、服務和公司等的具體名稱用語。

程式語言:
程式語言(programming language),是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。很多程式語言需要用指令方式說明計算的程式,而有些程式語言則屬於宣告式程式設計,說明需要的結果,而不說明如何計算。程式語言的描述一般可以分為語法及語義。語法是說明程式語言中,哪些符號或文字的組合方式是正確的,語義則是對於程式設計的解釋。有些語言是用規格檔案定義,例如C語言的規格檔案也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他語言(像Perl)有一份主要的程式語言實現檔案,視為是參考實現。程式語言俗稱“計算機語言”,種類非常的多,總的來說可以分成機器語言、組合語言、高階語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的程式語言有兩種形式:組合語言和高階語言。

補集:
補集一般指絕對補集,即一般地,設是一個集合,是的一個子集,由中所有不屬於的元素組成的集合,叫做子集在中的絕對補集(簡稱補集或餘集)。

實數:
實數,是有理數和無理數的總稱。數學上,實數定義為與數軸上的點相對應的數。實數可以直觀地看作有限小數與無限小數,實數和數軸上的點一一對應。但僅僅以列舉的方式不能描述實數的整體。實數和虛數共同構成複數。實數可以分為有理數和無理數兩類,或代數數和超越數兩類。實數集通常用黑正體字母 R 表示。R表示 維實數空間。實數是不可數的。實數是實數理論的核心研究物件。所有實數的集合則可稱為實數系(real number system)或實數連續統。任何一個完備的阿基米德有序域均可稱為實數系。在保序同構意義下它是惟一的,常用R表示。由於R是定義了算數運算的運算系統,故有實數系這個名稱。實數可以用來測量連續的量。理論上,任何實數都可以用無限小數的方式表示,小數點的右邊是一個無窮的數列(可以是迴圈的,也可以是非迴圈的)。在實際運用中,實數經常被近似成一個有限小數(保留小數點後 位,為正整數)。在計算機領域,由於計算機只能儲存有限的小數位數,實數經常用浮點數來表示。

語法:
語法是語言學的一個分支,研究按確定用法來運用的"詞類"、"詞"的屈折變化或表示相互關係的其他手段以及詞在句中的功能和關係。包含詞的構詞、構形的規則和組詞成句的規則。語法有兩個含義,一指語法結構規律本身,即語法事實;一指語法學,是探索並描寫語法結構的科學,是語法學者對客觀存在的語法體系的認識和說明。語法事實本身沒有分歧,但由於語法學者佔有的材料,觀察角度,分析方法不一致,語法學體系是有分歧的。語法包括詞法和句法兩部分。詞法主要是指詞的構成,變化和分類規律。句法主要是指短語和句子等語法單位的構成和變化規則。

高階語言:
高階語言(High-level programming language)相對於機器語言(machine language,是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的資料)而言。是高度封裝了的程式語言,與低階語言相對。它是以人類的日常語言為基礎的一種程式語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程式編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國,因此一般的高階語言都是以英語為藍本。在1980年代,當東亞地區開始使用電腦時,在日本、臺灣及中國大陸都曾嘗試開發用各自地方語言編寫的高階語言,當中主要都是改編BASIC或專用於資料庫資料訪問的語言,但是隨著程式設計者的外語能力提升,現時的有關開發很少。由於組合語言依賴於硬體體系,且助記符量大難記,於是人們又發明了更加易用的所謂高階語言。在這種語言下,其語法和結構更類似漢字或者普通英文,且由於遠離對硬體的直接操作,使得一般人經過學習之後都可以程式設計。高階語言通常按其基本型別、代系、實現方式、應用範圍等分類。

原始碼(一系列人類可讀的計算機語言指令):
原始碼(也稱源程式)是指未編譯的按照一定的程式設計語言規範書寫的文字檔案,是一系列人類可讀的計算機語言指令。 在現代程式語言中,原始碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文字檔案,這種典型格式的目的是為了編譯出計算機程式。計算機原始碼的最終目的是將人類可讀的文字翻譯成為計算機可以執行的二進位制指令,這種過程叫做編譯,通過編譯器完成。

值域:
值域:數學名詞,函式經典定義中,因變數改變而改變的取值範圍叫做這個函式的值域,在函式現代定義中是指定義域中所有元素在某個對應法則下對應的所有的象所組成的集合

資料壓縮:
資料壓縮是指在不丟失有用資訊的前提下,縮減資料量以減少儲存空間,提高其傳輸、儲存和處理效率,或按照一定的演算法對資料進行重新組織,減少資料的冗餘和儲存的空間的一種技術方法。資料壓縮包括有失真壓縮和無失真壓縮。在電腦科學和資訊理論中,資料壓縮或者源編碼是按照特定的編碼機制用比未經編碼少的資料位元(或者其它資訊相關的單位)表示資訊的過程。例如,如果我們將“compression”編碼為“comp”那麼這篇文章可以用較少的資料位表示。一種流行的壓縮例項是許多計算機都在使用的ZIP 檔案格式,它不僅僅提供了壓縮的功能,而且還作為歸檔工具(Archiver)使用,能夠將許多檔案儲存到同一個檔案中。

導數:
導數(Derivative)是微積分中的重要基礎概念。當函式y=f(x)的自變數X在一點x上產生一個增量Δx時,函式輸出值的增量Δy與自變數增量Δx的比值在Δx趨於0時的極限a如果存在,a即為在x處的導數,記作f’(x)或df/dx(x)。導數是函式的區域性性質。一個函式在某一點的導數描述了這個函式在這一點附近的變化率。如果函式的自變數和取值都是實數的話,函式在某一點的導數就是該函式所代表的曲線在這一點上的切線斜率。導數的本質是通過極限的概念對函式進行區域性的線性逼近。例如在運動學中,物體的位移對於時間的導數就是物體的瞬時速度。不是所有的函式都有導數,一個函式也不一定在所有的點上都有導數。若某函式在某一點導數存在,則稱其在這一點可導,否則稱為不可導。然而,可導的函式一定連續;不連續的函式一定不可導。對於可導的函式f(x),x↦f’(x)也是一個函式,稱作f的導函式。尋找已知的函式在某點的導數或其導函式的過程稱為求導。實質上,求導就是一個求極限的過程,導數的四則運演算法則也來源於極限的四則運演算法則。反之,已知導函式也可以倒過來求原來的函式,即不定積分。微積分基本定理說明了求原函式與積分是等價的。求導和積分是一對互逆的操作,它們都是微積分學中最為基礎的概念。

全域性變數:
全域性變數是程式設計術語中的一種,源自於變數之分。變數分為區域性與全域性,區域性變數又可稱之為內部變數。由某物件或某個函式所建立的變數通常都是區域性變數,只能被內部引用,而無法被其它物件或函式引用。全域性變數既可以是某物件函式建立,也可以是在本程式任何地方建立。全域性變數是可以被本程式所有物件或函式引用。一個區域性變數在被其它物件引用時,會是一個空值。但全域性變數卻不會出現這種情況。

索引(漢語詞語):
索引,指將文獻中具有檢索意義的事項(可以是人名、地名、詞語、概念、或其他事項)按照一定方式有序編排起來,以供檢索的工具書。
另見:
索引(資料庫術語)

真值:
真值是一個變數本身所具有的真實值,它是一個理想的概念,一般是無法得到的。所以在計算誤差時,一般用約定真值或相對真值來代替。

資料結構(計算機儲存、組織資料方式):
資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關

字元:
在計算機和電信技術中,一個字元是一個單位的字形、類字形單位或符號的基本資訊。

對映:
通常情況下,對映一詞有照射的含義,是一個動詞。在數學裡,對映則是個術語,指兩個元素的集之間元素相互“對應”的關係,為名詞;亦指“形成對應關係”這一個動作,動詞。“對映”或者“投影”,需要預先定義投影法則部分的函式後進行運算。因此“對映”計算可以實現跨維度對應。相應的微積分屬於純數字計算無法實現跨維度對應,運用微分模擬可以實現本維度內的複雜模擬。 對映可以對非相關的多個集合進行對應的近似運算,而微積分只能在一個連續相關的大集合內進行精確運算。對映,或者射影,在數學及相關的領域經常等同於函式。 基於此,部分對映就相當於部分函式,而完全對映相當於完全函式。在很多特定的數學領域中,這個術語用來描述具有與該領域相關聯的特定性質的函式,例如,在拓撲學中的連續函式,線性代數中的線性變換等等。在形式邏輯中,這個術語有時用來表示函式謂詞(Functional predicate),在那裡函式是集合論中謂詞的模型。

絕對值:
絕對值是指一個數在座標軸上所對應點到原點的距離叫做這個數的絕對值,絕對值用“ | |”來表示。|b-a|或|a-b|表示座標軸上表示a的點和表示b的點的距離。 (零絕對值0).

雜湊表:
散列表(Hash table,也叫雜湊表),是根據關鍵碼值(Key value)而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中一個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做散列表。給定表M,存在函式f(key),對任意給定的關鍵字值key,代入函式後若能得到包含該關鍵字的記錄在表中的地址,則稱表M為雜湊(Hash)表,函式f(key)為雜湊(Hash) 函式.

線性組合:
線性組合是一個線性代數中的概念,代表一些抽象的向量各自乘上一個標量後再相加。