計算機執行源程序的兩種方式:編譯和解釋
- 源代碼:採用某種編程語言編寫的計算機程序,人類可讀
例如:result = 2 + 3
- 目標代碼:計算機可直接執行,人類不可讀 (專家除外)
例如:11010010 00111011python
- 編譯:一次性翻譯,以後再也不須要源代碼(相似英文翻譯)
- 解釋:每次程序運行時隨翻譯隨執行(相似實時的同聲傳譯)算法
根據執行方式不一樣,編程語言分爲兩類
- 靜態語言:使用編譯執行的編程語言
C/C++語言、Java語言
- 腳本語言:使用解釋執行的編程語言
Python語言、JavaScript語言、PHP語言編程
執行方式不一樣,優點各有不一樣
- 靜態語言:編譯器一次性生成目標代碼,優化更充分
程序運行速度更快
- 腳本語言:執行程序時須要源代碼,維護更靈活
源代碼在維護靈活、跨多個操做系統平臺網絡
程序的基本編寫方法
- I:Input 輸入,程序的輸入
- P:Process 處理,程序的主要邏輯
- O:Output 輸出,程序的輸出框架
- 程序的輸入
文件輸入、網絡輸入、控制檯輸入、交互界面輸入、內部參數輸入等
- 輸入是一個程序的開始編程語言
- 處理是程序對輸入數據進行計算產生輸出結果的過程
- 處理方法統稱爲算法,它是程序最重要的部分
- 算法是一個程序的靈魂函數
- 程序的輸出
控制檯輸出、圖形輸出、文件輸出、網絡輸出、操做系統內部變量輸出等
- 輸出是程序展現運算結果的方式測試
- 分析問題:分析問題的計算部分,想清楚
- 劃分邊界:劃分問題的功能邊界,規劃IPO
- 設計算法:設計問題的求解算法,關注算法
- 編寫程序:編寫問題的計算程序,編程序
- 調試測試:調試程序使正確運行,運行調試
- 升級維護:適應問題的升級維護,更新完善優化
- 攝氏度:中國等世界大多數國家使用
以1標準大氣壓下水的結冰點爲0度,沸點爲100度,將溫度進行等分刻畫
- 華氏度:美國、英國等國家使用
以1標準大氣壓下水的結冰點爲32度,沸點爲212度,將溫度進行等分刻畫spa
直接將溫度值進行轉換,溫度數值須要標明溫度體系,即攝氏度或華氏度,轉換後也須要給出溫度體系。
- 輸入:帶華氏或攝氏標誌的溫度值
- 處理:根據溫度標誌選擇適當的溫度轉換算法
- 輸出:帶攝氏或華氏標誌的溫度值
標識放在溫度最後,F表示華氏度,C表示攝氏度,82F表示華氏82度,28C表示攝氏28度。
根據華氏和攝氏溫度定義,利用轉換公式以下:
C = ( F – 32 ) / 1.8 F = C * 1.8 + 32
其中, C表示攝氏溫度, F表示華氏溫度
#TempConvert.py TempStr = input("請輸入帶有符號的溫度值: ") if TempStr[-1] in ['F', 'f']: C = (eval(TempStr[0:-1]) - 32)/1.8 print("轉換後的溫度是{:.2f}C".format(C)) elif TempStr[-1] in ['C', 'c']: F = 1.8*eval(TempStr[0:-1]) + 32 print("轉換後的溫度是{:.2f}F".format(F)) else: print("輸入格式錯誤")
縮進表達程序的格式框架
- 嚴格明確:縮進是語法的一部分,縮進不正確程序運行錯誤
- 所屬關係:表達代碼間包含和層次關係的惟一手段
- 長度一致:程序內一致便可,通常用4個空格或1個TAB
不被程序執行的輔助性說明信息
- 單行註釋:以#開頭,其後內容爲註釋
# 這裏是單行註釋
- 多行註釋:以'''開頭和結尾
''' 這是多行註釋第一行
這是多行註釋第二行 '''
用來保存和表示數據的佔位符號
- 變量採用標識符(名字) 來表示,關聯標識符的過程叫命名
TempStr是變量名字
- 可使用等號(=)向變量賦值或修改值,=被稱爲賦值符號
TempStr = "82F" #向變量TempStr賦值"82F"
關聯標識符的過程
- 命名規則: 大小寫字母、數字、下劃線和中文等字符及組合
如: TempStr, Python_Great, 這是門Python好課
- 注意事項: 大小寫敏感、首字符不能是數字、不與保留字相同
Python和python是不一樣變量,123Python是不合法的
被編程語言內部定義並保留使用的標識符
- Python語言有35個保留字(也叫關鍵字)
if, elif, else, in
- 保留字是編程語言的基本單詞,大小寫敏感
if 是保留字,If 是變量
供計算機程序理解的數據形式
- 程序設計語言不容許存在語法歧義,須要定義數據的形式
須要給10,011,101關聯一種計算機能夠理解的形式
- 程序設計語言經過必定方式向計算機表達數據的形式
"123"表示文本字符串123,123則表示數字123
10,011,101
- 整數類型: 10011101
- 字符串類型: "10,011,101"
- 列表類型: [10, 011, 101]
由0個或多個字符組成的有序字符序列
- 字符串由一對單引號或一對雙引號表示
"請輸入帶有符號的溫度值: "或者 'C'
- 字符串是字符的有序序列,能夠對其中的字符進行索引
"請" 是 "請輸入帶有符號的溫度值: " 的第0個字符
使用[ ]獲取字符串中一個或多個字符
- 索引:返回字符串中單個字符 <字符串>[M]
"請輸入帶有符號的溫度值: "[0] 或者 TempStr[-1]
- 切片:返回字符串中一段字符子串 <字符串>[M: N]
"請輸入帶有符號的溫度值: "[1:3] 或者 TempStr[0:-1]
整數和浮點數都是數字類型
- 整數:數學中的整數
32 或者 -89
- 浮點數:數學中的實數,帶有小數部分
1.8 或者 -1.8 或者 -1.0
由0個或多個數據組成的有序序列
- 列表使用[ ]表示,採用逗號(,)分隔各元素
['F','f']表示兩個元素'F'和'f'
- 使用保留字 in 判斷一個元素是否在列表中
TempStr[-1] in ['C','c']判斷前者是否與列表中某個元素相同
由賦值符號構成的一行代碼
- 賦值語句用來給變量賦予新的數據值
C=(eval(TempStr[0:-1])-32)/1.8 #右側運算結果賦給變量C
- 賦值語句右側的數據類型同時做用於變量
TempStr=input("") #input()返回一個字符串,TempStr也是字符串
由判斷條件決定程序運行方向的語句
- 使用保留字if elif else構成條件判斷的分支結構
if TempStr[-1] in ['F','f']:#若是條件爲True則執行冒號後語句
- 每一個保留字所在行最後存在一個冒號(:),語法的一部分
冒號及後續縮進用來表示後續語句與條件的所屬關係
根據輸入參數產生不一樣輸出的功能過程
- 相似數學中的函數, y = f(x)
print("輸入格式錯誤") #打印輸出 "輸入格式錯誤"
- 函數採用 <函數名>(<參數>) 方式使用
eval(TempStr[0:-1]) # TempStr[0:-1]是參數
從控制檯得到用戶輸入的函數
- input()函數的使用格式:
<變量> = input(<提示信息字符串>)
- 用戶輸入的信息以字符串類型保存在<變量>中
TempStr = input("請輸入") # TempStr保存用戶輸入的信息
以字符形式向控制檯輸出結果的函數
- print()函數的基本使用格式:
print(<擬輸出字符串或字符串變量>)
- 字符串類型的一對引號僅在程序內部使用,輸出無引號
print("輸入格式錯誤") # 向控制檯輸出 輸入格式錯誤
去掉參數最外側引號並執行餘下語句的函數
- eval()函數的基本使用格式:eval(<字符串或字符串變量>)
>>> eval('"1+2"') '1+2' >>> eval('print("Hello")') Hello >>> eval("1") 1 >>> eval("1+2") 3