1. 程式人生 > >決戰Python之巔——第一模組總結

決戰Python之巔——第一模組總結

前言

本篇將對第一模組中的知識點做一個小總結。

知識總結

1.程式語言

程式語言分為三大類
1.機器語言
2.組合語言
3.高階語言

其中,機器語言與組合語言最底層語言,執行速度快,但開發效率低高階語言開發效率高,但執行速度相對較慢,而高階語言又分為編譯型、解釋型兩種。

2.Python的輸入輸出與註釋

Python與使用者互動的輸入、輸出語言是:
輸入:input()
輸出:print()
註釋分為兩種,單行註釋多行註釋。單行註釋直接跟在程式碼後或另起一行,以 # 開頭;多行註釋使用三對單引號或者三對雙引號,自己選擇。

3.基本資料型別

Python有三大基本資料型別:
int

,整型;(注意:Python 3 中將不再區分long int 和 int)
string,字串;
bool,布林值,只有True 和 False兩個值。
另外還有float,Python中小數預設有6位。

4.格式化輸出

使用佔位符
%s:string型
%d:整型
%f:浮點型

5.運算子

與基本數學一樣,Python中也有+ - * /(加減乘除),另外還有:
% :取模,返回餘數;
** :冪,返回x的y次冪
//:取整,除法返回整數部分
還有>、<、=等一些關係運算,就不在詳述。

6.流程控制(考點

單流程:

if 條件1:
	程式碼

雙流程:

if 條件1:
	程式碼1
else:
	程式碼2

多流程:

if 條件1:
	程式碼1
elif 條件2:
	程式碼2
......
else:
	程式碼

多流程中你需要多少分支就可以寫多少分支,另外if…elif…else中還可以巢狀if…elif…else。

7.迴圈

(1)while…else…

while 條件:
	程式碼1
else:
	程式碼2

只有當條件為真,即條件為True時,才會進入while迴圈執行程式碼1,直至遇到break或者條件為False才會跳出while迴圈(注意:一定不要寫死迴圈)。
while中也可以用continue,continue只用來跳過當前迴圈,不執行continue之後的程式碼,直接執行下一次迴圈。
只有當while迴圈正常結束,而不是通過break結束,才會執行else中的程式碼,切記。

(2)for迴圈(考點

for迴圈是一個遍歷迴圈,即:

for i in x:
	程式碼

假設x中有n個元素,就將執行程式碼n次。

8.編碼(考點

根據歷史事件,編碼從遠到近,依次是:

其中,ascii碼佔1個位元組,GBK佔2個位元組,UNICODE佔2個位元組,UTF-8分成3種:其中的ascii碼佔1個位元組,歐洲語言佔2個位元組,東亞語言佔3個位元組。

在計算機記憶體中,統一使用Unicode編碼,當需要儲存到硬碟或者需要傳輸的時候,就轉換為UTF-8編碼。
如果想把UTF-8轉為GBK,流程如下:
先將UTF-8解碼為Uniclde:

s1 = s.decode('UTF-8')

然後編碼為GBK:

s2 = s1.encode('GBK')

9.其它資料型別

Python中還有其他的資料型別:

(1)列表(list)

l = []  # 定義一個空列表
l = [1,2,3]
l = ['a','b','c']

注:列表中也可新增其他資料型別,如列表中巢狀列表。

列表操作 函式
追加 append
索引 index
計數 count
切片 [x:y:z]注1
插入 insert
刪除 pop注2、remove、del注3
正序 sort
倒序 reverse
擴充套件 extend
複製 cpoy注4

注1:x起始位置,y結束位置,z步長(預設為1),注意Python中永遠顧頭不顧尾
注2:刪除最後一個
注3:用法為:

l = [1,2,3]
del l[0]

注4:淺層複製,具體請看深淺Copy

(2)字串(string)

注意,字串是有序、不可變的。
在這裡插入圖片描述

(3)元組(tuple)

與列表相似,但一旦建立便不可修改
初始化:

l = (1,2,3,4)

功能:
索引:index
計數:count
切片(同list)

注意:這裡有個坑,如果你初始化了:s = (1),接著你type(s),你會發現返回的是int而不是tuple,s=(1,)才是tuple。

(4)字典(dict)

字典是一種key-value的無序的資料型別。其中key必須是不可變資料型別,且必須唯一。
字典可存放多個值,可修改,可不唯一。

字典操作 函式
查詢 in注1
獲取 get注2
獲取所有value values
獲取所有key keys
插入 setdefault注3
更新 update注4
items注5

注1:判斷字典的key中是否有當前值,有則返回True,反之返回False
注2:獲取有兩種方式,但另一種方式在遇到字典中沒有當前key的時候會報錯,get則會返回None
注3:setdefault:插入一堆key-value,加入字典中有該key就不插入且返回對應的value
注4:a.update(b),b中的key在a中存在,a中該key對應的value變為b中該key的value;b中的key在a中不存在,則a中新增一對這樣的key-value
注5:獲取當前字典的所有key,value,並返回一個list:[(key1,value1),(key2,value2),(key2,value2),(key3,value3)…]

(5)集合(set)

集合是一個無序的,不重複的資料集合。
集合三特徵:
1.確定性
2.互異性
3.無序性

集合操作 函式
新增 add注1
更新 update注2
刪除 discard、pop注3
清空 clear
複製 copy

注1:重複的元素不會被新增,只能新增不可變資料
注2:把多個值加入到集合
注3:discard集合中沒有該元素不會報錯,pop隨機刪,沒有會報錯
集合關係測試:

關係測試 符號
交集 &
差集 -
並集 ^

10.雜湊

在這裡插入圖片描述

11.二進位制、八進位制、十進位制、十六進位制

之間的轉換較好的方法是都轉為二進位制,再轉其他進位制。


2018.12.09補充:
先補充一下考核時遇到的問題及老師的答覆:
有這樣一道題:
#!/usr/bin/env python 3 這句話的作用是什麼?
剛看到這道題我一臉懵逼。。這句話哪來的?是不是超綱了?
…其實沒有,Pycharm檔案頭就有這一句話,只是我一直沒有注意:這句話的意思是,告訴系統執行這個指令碼時,呼叫Python 3直譯器。整體過程是,首先讓系統到環境變數(即env)中找Python 3安裝路徑,找到後呼叫Python 3直譯器。環境變數,我的理解是一個儲存庫,裡面存放都是一些安裝路徑,比如Python 3的,怎麼檢視本機的env呢(下面以windows為例):
右擊“我的電腦”——屬性——高階系統設定:
在這裡插入圖片描述
高階Tab頁——環境變數:
在這裡插入圖片描述
雙擊Path:
在這裡插入圖片描述
就能開啟編輯環境變數介面。
在這裡插入圖片描述

這裡還有另外一句話:
#!/usr/bin/python 3
這句話的意思是直接到usr/bin資料夾下找Python 3直譯器,是一個絕對路徑,如果你的Python 3沒有裝在這個資料夾下,就不會找到。
所以,還是推薦使用第一句。