1. 程序設(shè)計(jì)的概述
- 程序過程
- 數(shù)據(jù)輸入
- 數(shù)據(jù)處理
- 數(shù)據(jù)輸出
- 程序設(shè)計(jì)的概述
- 分析問題,確認(rèn)數(shù)學(xué)模型和方法
- 設(shè)計(jì)算法,畫出流程圖
- 選擇編程工具,按算法寫出程序
- 調(diào)試過程,分析輸出結(jié)果
- 基本結(jié)構(gòu)
- 順序結(jié)構(gòu)
- 選擇結(jié)構(gòu)
- 循環(huán)結(jié)構(gòu)
2. python程序的書寫規(guī)則
python通過語句縮進(jìn)與對(duì)齊來反映語句之間的邏輯關(guān)系,從而區(qū)分不同的語句塊??s進(jìn)可以使用(四個(gè))空格或(一個(gè))制表符組成
3. 賦值
表達(dá)式:表達(dá)式是運(yùn)算符和操作符構(gòu)成的序列
- 直接賦值
變量 = 表達(dá)式,如a = 1 - 復(fù)合語句賦值
+= -= *= /= //= %= **= ,如 a += 1 - 鏈?zhǔn)劫x值
變量1 = 變量2 = 變量3,如 a = b = c = 1

鏈?zhǔn)劫x值
- 同步賦值
變量1,變量2 = 表達(dá)式,表達(dá)式2,如a, b = 1, 2

同步賦值
4. 常量和變量
- 常量:運(yùn)行期間一直不變
- 變量:Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對(duì)象的類型。
- 標(biāo)識(shí)符:主要用來表示常量、變量、函數(shù)和類型等程序要素的名字,是只起到標(biāo)識(shí)作用的一類符號(hào)。在 Python 中,標(biāo)識(shí)符由字母、數(shù)字、下劃線 (_) 組成,不能由數(shù)字開頭,區(qū)分大小寫。
- 關(guān)鍵字
- 特殊情況:?jiǎn)为?dú)的下劃線 (_) 是一個(gè)特殊的變量,用于上一次運(yùn)算的結(jié)果。

特殊的變量
5. 數(shù)據(jù)類型
python中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:
- Number(數(shù)字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
不可變數(shù)據(jù)3個(gè):Number,String,Tuple
可變數(shù)據(jù)3個(gè):List,Dictionary,Set
6.Number(數(shù)字)
- int整型,不固定長(zhǎng)度,只要內(nèi)存允許。十進(jìn)制,二級(jí)制(0b,0B),八進(jìn)制(0O,0o),十六進(jìn)制(0x,0X)
轉(zhuǎn)換:- 十進(jìn)制int()
- 二進(jìn)制bin()
- 八進(jìn)制oct()
- 十六進(jìn)制hex()
- ord(x) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
- chr(x) 將一個(gè)字符轉(zhuǎn)換為一個(gè)整數(shù)

- float浮點(diǎn)型,17位有效數(shù)字精度
float(x) 將x轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù) - bool布爾型,True,F(xiàn)alse
- complex復(fù)數(shù)
complex(x) 將x轉(zhuǎn)換為一個(gè)復(fù)數(shù),實(shí)數(shù)部分為x,虛數(shù)部分為0
complex(x,y)將x和y轉(zhuǎn)換為一個(gè)復(fù)數(shù),實(shí)數(shù)部分為x,虛數(shù)部分為y
7. String(字符串)
定義: ' '," ",''' ''',""" """

字符串定義
8. 轉(zhuǎn)義字符
- 無法看見的字符
- 與語言本身語法有沖突的字符
- 不想發(fā)生轉(zhuǎn)義,可以在字符串前添加一個(gè)r或R表示原始字符串
- 示例
\n 換行
\r 回車
\\ 反斜杠符號(hào)
\t 橫向制表符
\b 空格
\' 單引號(hào)
\''雙引號(hào)
\ 在行尾時(shí),續(xù)行符

轉(zhuǎn)義
9. 內(nèi)置的函數(shù)
- print() 輸出函數(shù)
- eval() 把字符串的內(nèi)容作為對(duì)應(yīng)的python語句來運(yùn)行
- len() 返回字符串的長(zhǎng)度
- max() 返回可迭代類型的最大值
- min() 返回可迭代類型的最小值
- range(start, end, scan)
- abs(x) 返回x的絕對(duì)值
- divmod(x,y) 返回x/y的商和余數(shù)
- round(x,[n])
10. 運(yùn)算符
- 算數(shù)運(yùn)算符
+加 -減 * 乘 / 除 // 整除 ** 冪 % 余 - 比較運(yùn)算符
== 等于 != 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于 - 賦值運(yùn)算符
= 簡(jiǎn)單的賦值運(yùn)算符 += 加法賦值運(yùn)算符 -= 減法賦值運(yùn)算符 *= 乘法賦值運(yùn)算符
/= 除法賦值運(yùn)算符 %= 取模賦值運(yùn)算符 **= 冪賦值運(yùn)算符 //= 取整除賦值運(yùn)算符 - 位運(yùn)算符:把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的
& 按位與運(yùn)算符 | 按位或運(yùn)算符 ^ 按位異或運(yùn)算符
<< 左移動(dòng)運(yùn)算符 >> 右移動(dòng)運(yùn)算符 - 邏輯運(yùn)算符
and 與 or 或 not 非 - 成員運(yùn)算符
in???????? x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in?? x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 - 身份運(yùn)算符
is x is y, 類似 id(x) == id(y) , 如果引用的是同一個(gè)對(duì)象則返回 True,否則返回 False
is not x is not y , 類似 id(a) != id(b)。如果引用的不是同一個(gè)對(duì)象則返回結(jié)果 True,否則返回 False。 -
運(yùn)算符優(yōu)先級(jí),添加括號(hào)可以改變優(yōu)先級(jí)
運(yùn)算符
11. 導(dǎo)入模塊
- 用法:
import 模塊名
from 模塊名 import 函數(shù)名
from 模塊名 import * - 模塊math常用方法:
絕對(duì)值fabs(x)
平方根sqrt(x)
冪函數(shù)pow(x,y)
返回e的x次冪exp()
ceil(x)為向上取整,如ceil(4.1)=5
round(x,[n])為四舍五入,n代表小數(shù)點(diǎn)后的位數(shù)
floor(x)向下取整,如round(4.1)=4
fmod(x,y) 為求x/y的余數(shù)
sin(x),cos(x),tan(x),acos(x),asin(x),atan(x)
12. 列表list
列表是最常用的Python數(shù)據(jù)類型,它可以作為一個(gè)方括號(hào)內(nèi)的逗號(hào)分隔值出現(xiàn)。
- 列表的定義
創(chuàng)建一個(gè)列表,只要把逗號(hào)分隔的不同的數(shù)據(jù)項(xiàng)使用方括號(hào)括起來即可。如:list1=[1,2,3],空列表為 [] - 列表的訪問
list1[0] 返回一個(gè)元素
list1[0:1] 返回一個(gè)列表 - 列表的更新
list[x] = 表達(dá)式,如list1[0]=1 - 列表的刪除
del list[x],x為索引值
del list - 列表的操作
+列表加列表
*列表乘整型數(shù)字
in /not in 判斷元素是否在列表內(nèi)
len() 返回列表長(zhǎng)度
max() 返回列表的最大值
min() 返回列表的最小值
list() 將元組轉(zhuǎn)換為列表
list.append(obj) 在列表末尾添加新的元素
list.count(obj) 統(tǒng)計(jì)列表中某個(gè)元素出現(xiàn)的次數(shù)
list.extend(seq) 在列表的末尾一次性添加另一個(gè)序列的多個(gè)值
list.index(obj) 在列表中找到某個(gè)值第一個(gè)匹配項(xiàng)的索引值
list.insert(index,obj) 在列表指定索引位置插入元素
list.pop([i]) 移除列表的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值
list.remove(obj) 移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list.reverse() 反向列表中的元素
list.sort() 排序原列表
list.clear() 清空列表
list.copy() 復(fù)制列表,如list2 = list1.copy() - 列表解析
13. 元組tuple
- Python 的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號(hào),列表使用方括號(hào)。
- 元組的定義
元組創(chuàng)建很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開即可。
空元組 ()
只有一個(gè)元素的元組,如(1,)
注:(1)不是一個(gè)元組,()被視為括號(hào) - 元組的訪問
- 元組不允許修改
- 元組的刪除
del tuple - 元組的操作
+元組加元組
*元組乘整型數(shù)字
in /not in 判斷元素是否在元組內(nèi)
len() 返回元組長(zhǎng)度
max() 返回元組的最大值
min() 返回元組的最小值
tuple() 將列表轉(zhuǎn)換為元組
14. 集合set
- 集合的定義
一個(gè)無序不重復(fù)元素的序列。(無序,不重復(fù)) - 集合間的操作
沒有索引,不能切片
-求兩個(gè)集合的差集
&求兩個(gè)集合的交集
|求兩個(gè)集合的并集
^求不同時(shí)包含于兩個(gè)集合的元素

- 集合的基本操作
- 添加元素:
s.add(x) 添加元素x,如果元素x已存在,不進(jìn)行任何操作
s.update(x) 添加元素,參數(shù)可以是列表,元組,字典等 - 移除元素
s.remove(x) 移除元素x,如果元素x不存在,報(bào)錯(cuò)
s.pop() 隨機(jī)刪除集合中的一個(gè)元素 - 計(jì)算元素的個(gè)數(shù)
len(s) - 清空集合
s.clear() - 判斷元素是否在集合內(nèi)
in / not in
- 添加元素:
15.字典dict
- 字典的定義
字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割,每個(gè)對(duì)之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào)({})中 ,格式如下所示:
d = { key1 : value1, key2 : value2 } - 字典的訪問
把相應(yīng)的鍵放入到方括號(hào)中
如果用字典里沒有的鍵訪問數(shù)據(jù),會(huì)輸出錯(cuò)誤 - 字典的修改
向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì),修改或刪除已有鍵/值
dict[key]=value - 刪除字典元素
del dict[key]
del dict
dict.clear() 清空字典 - 字典鍵的特性
- 不允許同一個(gè)鍵出現(xiàn)兩次,創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住
- 鍵必須不可變,可用int,str,tuple
- 字典的內(nèi)置函數(shù)和方法
len(dict) 計(jì)算字典元素個(gè)數(shù)
str(dict) 輸出字典

16. 選擇結(jié)構(gòu)
- 條件的描述
- 關(guān)系運(yùn)算: < > <= >= == !=
表達(dá)式1 關(guān)系運(yùn)算符 表達(dá)式2 - 邏輯運(yùn)算: and,or,not
- 關(guān)系運(yùn)算: < > <= >= == !=
- 選擇結(jié)構(gòu)的實(shí)現(xiàn)(注意縮進(jìn))
- 單分支選擇結(jié)構(gòu)
if表達(dá)式:
????語句塊 - 雙分支選擇結(jié)構(gòu)
if表達(dá)式:
????語句塊
else表達(dá)式:
????語句塊 - 多分支選擇結(jié)構(gòu)
if表達(dá)式:
????語句塊
elif表達(dá)式:
????語句塊
else表達(dá)式:
????語句塊 - if嵌套
- 單分支選擇結(jié)構(gòu)
17. 循環(huán)結(jié)構(gòu)
- while循環(huán)(達(dá)到目標(biāo)或遞歸)
while表達(dá)式:
????語句塊
else(可省略):
????語句塊 - for循環(huán)(遍歷)
for 目標(biāo)變量 in 序列對(duì)象:
????語句塊
注:序列對(duì)象:可迭代對(duì)象,range(開始:結(jié)束:步長(zhǎng))函數(shù) - break語句
可以跳出 for 和 while 的循環(huán)體。如果你從 for 或 while 循環(huán)中終止,任何對(duì)應(yīng)的循環(huán) else 塊將不執(zhí)行。 - continue語句:Python跳過當(dāng)前循環(huán)塊中的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán)。
- else語句:循環(huán)語句可以有 else 子句,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導(dǎo)致循環(huán)終止時(shí)被執(zhí)行,但循環(huán)被break終止時(shí)不執(zhí)行。
- pass語句:空語句,是為了保持程序結(jié)構(gòu)的完整性。pass 不做任何事情,一般用做占位語句
