Python基本語法元素

編譯和解釋

計算機執行源程序的兩種方式:編譯和解釋
- 源代碼:採用某種編程語言編寫的計算機程序,人類可讀
  例如:result = 2 + 3
- 目標代碼:計算機可直接執行,人類不可讀 (專家除外)
  例如:11010010 00111011python

編譯

解釋

 

編譯和解釋

- 編譯:一次性翻譯,以後再也不須要源代碼(相似英文翻譯)
- 解釋:每次程序運行時隨翻譯隨執行(相似實時的同聲傳譯)算法

靜態語言和腳本語言

  根據執行方式不一樣,編程語言分爲兩類
- 靜態語言:使用編譯執行的編程語言
  C/C++語言、Java語言
- 腳本語言:使用解釋執行的編程語言
  Python語言、JavaScript語言、PHP語言編程

  執行方式不一樣,優點各有不一樣
- 靜態語言:編譯器一次性生成目標代碼,優化更充分
  程序運行速度更快
- 腳本語言:執行程序時須要源代碼,維護更靈活
  源代碼在維護靈活、跨多個操做系統平臺網絡

程序的基本編寫方法

IPO

程序的基本編寫方法
- I:Input 輸入,程序的輸入
- P:Process 處理,程序的主要邏輯
- O:Output 輸出,程序的輸出框架

理解IPO

- 程序的輸入
文件輸入、網絡輸入、控制檯輸入、交互界面輸入、內部參數輸入等
- 輸入是一個程序的開始編程語言

- 處理是程序對輸入數據進行計算產生輸出結果的過程
- 處理方法統稱爲算法,它是程序最重要的部分
- 算法是一個程序的靈魂函數

- 程序的輸出
控制檯輸出、圖形輸出、文件輸出、網絡輸出、操做系統內部變量輸出等
- 輸出是程序展現運算結果的方式測試

編程解決問題的步驟

- 分析問題:分析問題的計算部分,想清楚
- 劃分邊界:劃分問題的功能邊界,規劃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]是參數

Python程序的輸入輸出

輸入函數 input()

從控制檯得到用戶輸入的函數
- input()函數的使用格式:
  <變量> = input(<提示信息字符串>)
- 用戶輸入的信息以字符串類型保存在<變量>中
  TempStr = input("請輸入") # TempStr保存用戶輸入的信息

輸出函數 print()

以字符形式向控制檯輸出結果的函數
- print()函數的基本使用格式:
  print(<擬輸出字符串或字符串變量>)
- 字符串類型的一對引號僅在程序內部使用,輸出無引號
  print("輸入格式錯誤") # 向控制檯輸出 輸入格式錯誤

評估函數 eval()

  去掉參數最外側引號並執行餘下語句的函數

- eval()函數的基本使用格式:eval(<字符串或字符串變量>)

>>> eval('"1+2"')
'1+2'
>>> eval('print("Hello")')
Hello
>>> eval("1")
1
>>> eval("1+2")
3
相關文章
相關標籤/搜索