編程相關術語(不斷更新)

1. 程序的組成

   程序 (program):(1)由一系列定義計算機如何執行計算的指令組成。(本質)程序員

                                    (2)程序(算法)由對象、表達式和語句組成。(元素)算法

 1.1程序的指令類型

  • 輸入 (input): 從鍵盤、文件、網絡或者其餘設備獲取數據。
  • 輸出 (output): 在屏幕上顯示數據,將數據保存至文件,經過網絡傳送數據,等等。
  • 數學 (math): 執行基本的數學運算,如加法和乘法。
  • 有條件執行 (conditional execution): 檢查符合某個條件後,執行相應的代碼。
  • 重複 (repetition): 檢查符合某個條件後,執行相應的代碼。

 1.2對象、表達式、語句

  • 對象 (object): 變量能夠引用的東西。數字、數據結構、函數、類等
  • 表達式 (expression): 變量、運算符和值的組合,表明一個單一的結果。
  • 語句 (statement): 表明一個命令或行爲的一段代碼。賦值、輸入、輸出、打印、選擇/條件(if、else)、迭代/遍歷/循環(for、while)

 1.3 數據結構

    • 數據結構 (data structure): 一個由關聯值組成的數據集合,一般組織成列表(序列)、元組、字典(映射)等。

2. 程序的結構

  順序結構、條件結構、循環結構。express

 2.1 順序結構

  簡單的指令,依次執行程序語句,每條語句只執行一次。無條件判斷和循環重複語句。如賦值、打印等語句。編程

import math
r=float(input('輸入圓的半徑:'))
print('圓的面積是:{s: .4f}'.format(s=math.pi*pow(r,2)))

 2.2 判斷/選擇(條件)結構

  檢測條件,並相應地改變程序行爲。
網絡

score = float(input('輸入分數(0至100之間):)
if score>80:
    print('成績優秀')
elif 70<score<80:
    print('成績良好')
elif 70<score<80:
    print('成績及格')
else:
    print('不及格')

 2.3 判斷/選擇(判斷)結構

  重複執行的代碼結構。
數據結構

#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)

3. 算法與程序

   算法 (algorithm):算法是逐步解決一類問題或完成一項任務的方法。又或者算法是解決一類問題的通用過程(步驟)。  app

 3.1 算法與程序的區別

  • 程序是算法編碼的結果,同一算法經過不一樣的編程語言產生不一樣的程序。

4. 編程

   編程 (programming):設計程序、編寫程序的過程。數據結構和算法

5. 過程

   過程 (procedure):涉及時間始末、次序前後,稱之爲過程。主體發佈動做、主體執行步驟,皆是過程。編程語言

6. 結構

  結構(Structure: 涉及形狀、位置(先後左右)、佈局稱之爲結構函數

7. 解釋器與編譯器

  解釋器 (interpreter)讀取另外一個程序並執行該程序的程序。

  編譯器(Compiler):將「一種語言(一般爲高級語言)」翻譯爲「另外一種語言(一般爲低級語言)」的程序。

8. 函數

  在編程的語境下,函數 (function) 是指一個有命名的、執行某個計算的語句序列 (sequence of statements) 

 8.1  函數與方法

  • 方法 (method): 與對象相關聯的函數,並使用點標記法 (dot notation) 調用。

9.

  類 (class): 一種程序員自定義的類型。

10.模塊

  模塊 (module): 包含了一組相關函數及其餘定義的的文件。

11.變量

  變量 (variable):變量是指向某個值的名稱(符號)。

12. 條件

  條件 (condition): 決定哪一個分支會被執行的布爾表達式。

 12.1 條件語句

  • 條件語句 (conditional statement): 一段根據某個條件決定程序執行流程的語句。

13. 迭代(重複)

  迭代 (iteration): 利用遞歸或者循環的方式來重複執行代一組語句的過程。

14. 遍歷(重複)(搜索)

  遍歷 (traversal): 對一個序列的全部元素進行迭代,對每一元素執行相似操做。搜索意思與遍歷相近。

 14. 1 搜索

  搜索 (search): 一種遍歷模式,當找到搜索目標時就中止。 

15. 循環(重複)

  循環 (loop): 程序中可以重複執行的那部分代碼。

16. 遞歸(重複)

  遞歸 (recursion): 調用正在執行的函數自己的過程。

17.序列

  序列 (sequence)一個有序的值的集合,每一個值經過一個整數索引標識。

18.元素

  元素 (item): 序列中的一個值

19.索引  

  索引 (index): 用來選擇序列中元素 (如字符串中的字符的一個整數值。在 Python 中,索引從 開始。

20. 封裝

  封裝 (encapsulation)將一個語句序列轉換成函數定義的過程。

21. 泛化

  泛化 (generalization)使用某種能夠算是比較通用的東西 (像變量和形參),替代某些不必那麼具體的東西 (像一個數字) 的過程。(形參)

22. 接口

  接口 (interface)對如何使用一個函數的描述,包括函數名、參數說明和返回值。

23. 重構

  重構 (refactoring)修改一個正常運行的函數,改善函數接口及其餘方面代碼質量的過程。

24. 文檔字符串

  文檔字符串 (docstring)出如今函數定義頂部的一個字符串,用於記錄函數的接口。

 

25. 計算機科學

  計算機科學(Computer Science)研究問題是否可計算,算法是否存在(解決問題的學科)。以抽象爲工具來表現過程與數據。

 25.1  解決問題的基本思路

    • 將事物分類,將大問題分解爲小單元(樹)。

26. 抽象

  抽象( abstraction: 呈現界面( interface),隱藏事物沒必要要的細節。

 

參考:

   《Python基礎教程》

   《用Python解決數據結構和算法》

   《計算機科學導論》

   《程序員的數學》

   《像科學家同樣思考Python》

相關文章
相關標籤/搜索