程序 (program):(1)由一系列定義計算機如何執行計算的指令組成。(本質)程序員
(2)程序(算法)由對象、表達式和語句組成。(元素)算法
順序結構、條件結構、循環結構。express
簡單的指令,依次執行程序語句,每條語句只執行一次。無條件判斷和循環重複語句。如賦值、打印等語句。編程
import math r=float(input('輸入圓的半徑:')) print('圓的面積是:{s: .4f}'.format(s=math.pi*pow(r,2)))
檢測條件,並相應地改變程序行爲。
網絡
score = float(input('輸入分數(0至100之間):) if score>80: print('成績優秀') elif 70<score<80: print('成績良好') elif 70<score<80: print('成績及格') else: print('不及格')
重複執行的代碼結構。
數據結構
#1加到100 sum = 0 for x in range(1, 101): sum = sum + x print(sum) #1加到100 count = 0 result=0 while count<101: result=result+count count+=1 print(result) # 100之內偶數和 x=100 lis = [] result = 0 while x: x=x-1 if x%2 != 0: continue lis.append(x) for i in lis: result +=i #'+','='之間不能有空格 print(result)
算法 (algorithm):算法是逐步解決一類問題或完成一項任務的方法。又或者算法是解決一類問題的通用過程(步驟)。 app
編程 (programming):設計程序、編寫程序的過程。數據結構和算法
過程 (procedure):涉及時間始末、次序前後,稱之爲過程。主體發佈動做、主體執行步驟,皆是過程。編程語言
結構(Structure): 涉及形狀、位置(先後左右)、佈局稱之爲結構。函數
解釋器 (interpreter): 讀取另外一個程序並執行該程序的程序。
編譯器(Compiler):將「一種語言(一般爲高級語言)」翻譯爲「另外一種語言(一般爲低級語言)」的程序。
在編程的語境下,函數 (function) 是指一個有命名的、執行某個計算的語句序列 (sequence of statements) 。
類 (class): 一種程序員自定義的類型。
模塊 (module): 包含了一組相關函數及其餘定義的的文件。
變量 (variable):變量是指向某個值的名稱(符號)。
條件 (condition): 決定哪一個分支會被執行的布爾表達式。
迭代 (iteration): 利用遞歸或者循環的方式來重複執行代一組語句的過程。
遍歷 (traversal): 對一個序列的全部元素進行迭代,對每一元素執行相似操做。搜索意思與遍歷相近。
搜索 (search): 一種遍歷模式,當找到搜索目標時就中止。
循環 (loop): 程序中可以重複執行的那部分代碼。
遞歸 (recursion): 調用正在執行的函數自己的過程。
序列 (sequence):一個有序的值的集合,每一個值經過一個整數索引標識。
元素 (item): 序列中的一個值
索引 (index): 用來選擇序列中元素 (如字符串中的字符) 的一個整數值。在 Python 中,索引從 0 開始。
封裝 (encapsulation): 將一個語句序列轉換成函數定義的過程。
泛化 (generalization): 使用某種能夠算是比較通用的東西 (像變量和形參),替代某些不必那麼具體的東西 (像一個數字) 的過程。(形參)
接口 (interface): 對如何使用一個函數的描述,包括函數名、參數說明和返回值。
重構 (refactoring): 修改一個正常運行的函數,改善函數接口及其餘方面代碼質量的過程。
文檔字符串 (docstring): 出如今函數定義頂部的一個字符串,用於記錄函數的接口。
計算機科學(Computer Science)研究問題是否可計算,算法是否存在(解決問題的學科)。以抽象爲工具來表現過程與數據。
將事物分類,將大問題分解爲小單元(樹)。
抽象( abstraction): 呈現界面( interface),隱藏事物沒必要要的細節。
《Python基礎教程》
《用Python解決數據結構和算法》
《計算機科學導論》
《程序員的數學》
《像科學家同樣思考Python》