黑馬程序員python教程,8天python從入門到精通,學(xué)python看這套就

一、注釋
- 單行井號(hào)開頭;
- 多行三個(gè)引號(hào)開頭結(jié)尾;
- 注釋:ctrl+l
取消注釋:ctrl+l
二、變量
- 定義規(guī)則:變量名+變量值
- print輸出多個(gè)數(shù)據(jù)用逗號(hào)隔開即可
- print(內(nèi)容1,內(nèi)容2,......,內(nèi)容N)
- 快捷鍵:ctrl+D
三、數(shù)據(jù)類型
- type()語句

四、數(shù)據(jù)類型的轉(zhuǎn)換
- 常見的轉(zhuǎn)換類型

- 任何類型都可以轉(zhuǎn)字符串
- 只有數(shù)字內(nèi)容的字符串可以轉(zhuǎn)換成數(shù)字類型
- float轉(zhuǎn)int會(huì)消去小數(shù)部分
五、標(biāo)識(shí)符
- 內(nèi)容限定
- 只允許出現(xiàn):英文、中文、下劃線、數(shù)字四類元素(不推薦實(shí)用中文、數(shù)字不能開頭、不能空格)
2.大小寫區(qū)分
3.不可以關(guān)鍵字
4.變量的命名規(guī)范
- 見名知意
- 下劃線命名(多個(gè)單詞組合命名)
- 英文字母全小寫
六、運(yùn)算符
- 算數(shù)運(yùn)算符

- 賦值運(yùn)算符

七、字符串
- 定義字符串:單、雙、三引號(hào)定義法(三引號(hào)的寫法和注釋相近,里面可以用換行符)
- len()函數(shù)可以計(jì)算字符串的長度
- 定義的字符串包含雙引號(hào)
- 在單引號(hào)里用雙引號(hào)
- 使用轉(zhuǎn)義字符
八、字符串的拼接
- 用+拼接
- 只能字符串和字符串之間拼接
九、字符串格式化



十、格式化的精度控制
- 數(shù)字精度控制

- 若float沒有寬度限制,可以直接用%.nf
十一、快速字符串格式化
- 通過語法:f"內(nèi)容{變量}"的格式來快速格式化 f作為標(biāo)記寫在前面
- e.g. print(f"我是{name},我成立于:{set_up_year},我今天的股票價(jià)格是:{stock_price}")
- 特點(diǎn):不在意類型、不做精度控制
十二、表達(dá)式的格式化
- 表達(dá)式:具有明確執(zhí)行結(jié)果的代碼語句

- 格式化表達(dá)式
- f"(表達(dá)式)"
- "%s\%d\%f"%(表達(dá)式,表達(dá)式,表達(dá)式)
十三、數(shù)據(jù)輸入
- input語句

- input()語句自帶提示信息功能,會(huì)自動(dòng)打印()里面的內(nèi)容
- e.g.

- input不管寫入什么語句,統(tǒng)統(tǒng)當(dāng)作字符串來看待
- 有特殊需要時(shí),要做類型轉(zhuǎn)換
十四、判斷語句
- bool類型、比較運(yùn)算符(規(guī)則、內(nèi)容同C#)
- 計(jì)算規(guī)則:
- &表示且 |表示或
十五、if語句
- 通過4個(gè)空格縮進(jìn)來表示歸屬的
- 注意有冒號(hào),而不是用括號(hào)

- 總結(jié):

十六、if else 語句的組合用法

- 注意空格縮進(jìn)
- else不需要判斷條件
十七、if elif else 語句的組合運(yùn)用

- elif和C#中的else if類似
- else可以省略不寫
- 注意空格縮進(jìn)?。?!
十八、判斷語句的嵌套
自由組合

- 空格縮進(jìn) decide 層次關(guān)系
十九、while 循環(huán)語句的基礎(chǔ)使用

二十、while循環(huán)的嵌套

- 注意縮進(jìn)
- 使用print語句不換行:
- print(輸出內(nèi)容,end=' ')

- \t表示水平制表符
二十一、for循環(huán)語句

- for循環(huán)沒有循環(huán)條件,只能用來遍歷
- 注意縮進(jìn)
- range語句


- for x in range(...):控制循環(huán)次數(shù)
- 變量的作用域

- for 循環(huán)的嵌套運(yùn)用
- 空格縮進(jìn)
- break和continue(同C++)
二十二、函數(shù)
- 定義函數(shù)(傳入?yún)?shù)和返回值可以省略)
def 函數(shù)名 (傳入?yún)?shù)):
函數(shù)體
return 返回值
- 函數(shù)先定義后使用
- 函數(shù)的傳入?yún)?shù)有多個(gè),用逗號(hào)隔開
- 函數(shù)返回值(同C++)
- None 類型(沒有返回值時(shí)的默認(rèn)返回type)
- 注意N是大寫的
- 應(yīng)用

- 函數(shù)的說明文檔
- 用注釋寫在函數(shù)體之前
- 函數(shù)的嵌套調(diào)用
- 變量的作用域(同C++)
- global 關(guān)鍵字(有點(diǎn)像C++)
- 內(nèi)部定義了一個(gè)同名變量,會(huì)覆蓋外部的同名變量
- global用來設(shè)置在函數(shù)內(nèi)定義的變量成為全局變量

二十三、列表

- 列表的定義

- 下標(biāo)索引
- 和C++類似
- 倒數(shù)第N個(gè),下標(biāo)就是 -N
- 常用操作

- 查詢某元素的下標(biāo) 列表 . index(元素)
- 修改特定下標(biāo)索引的值 列表[下標(biāo)]=值
- 插入元素 列表 . insert(下標(biāo),元素),在指定的下標(biāo)位置,插入指定的元素
- 追加,將元素加入到尾部 列表 . append(元素)
- 追加方式2,把其他容器追加到之后 列表 . extend(其它數(shù)據(jù)容器)
- 刪除(已知下標(biāo))
- 方式1 del 列表[下標(biāo)]
- 方式2 列表 . pop(下標(biāo))
- 刪除(已知元素) 列表 . remove(元素)
- remove方法從前到后查找只會(huì)刪除一個(gè)元素,若要?jiǎng)h除所有的對象元素,則要多次調(diào)用
- 清空 列表 . clear()
- 統(tǒng)計(jì)某元素在列表內(nèi)的數(shù)量 列表 . count(元素)
- 統(tǒng)計(jì)列表的元素?cái)?shù)量 列表 . len()
- 列表的遍歷
- 用while
- 用for

- 細(xì)節(jié)

二十四、元組
- 定義

- 定義單個(gè)元素的元組,記得要在第一個(gè)元組后面加上逗號(hào),否則就是str類,而非tuple類
- 各種操作

- 和list的區(qū)別:元組只讀,不可修改
- 但是元組內(nèi)的list元素中的元素可以修改

- 元組的遍歷(和list相同)
二十五、字符串II
- 字符串的下標(biāo)索引(和元組相同)
- 作為一個(gè)數(shù)據(jù)容器,字符串是只讀的,不能夠修改
- 操作
- 查找特定字符串的下標(biāo)索引值 字符串 . index(字符串)
- 字符串的替換

- 字符串的分割

- 字符串的規(guī)整操作

- 統(tǒng)計(jì)字符串中某個(gè)字符出現(xiàn)的次數(shù)(同list)
- 統(tǒng)計(jì)字符串的長度(同list)
- 小結(jié)

- 字符串遍歷(同list)
- 特點(diǎn)

二十六、序列(list\str\tuple)

- 注意,切片操作不會(huì)影響序列本身,而是會(huì)得到一個(gè)新的序列
二十七、集合
- 不支持元素重復(fù),自帶去重功能;元素的順序沒法得到保證
- 定義:使用={ , , , , ,},或使用=set()定義空集合
- 空集合:set()

- 各種操作
- 添加元素 集合 . add(元素)
- 移除元素 集合 . remove(元素)
- 從集合中取出一個(gè)元素 集合 . pop()
- 清空集合 集合 . clear()
- 取出2個(gè)集合的差集,即取出集合1有而集合2沒有的
- 語法:集合1 . difference(集合2)
- 結(jié)果:得到一個(gè)新的集合,集合1和集合2不變
- 消除2個(gè)集合的差集

- 兩個(gè)結(jié)合的合并

- 統(tǒng)計(jì)集合元素的數(shù)量
- len(集合)
- 集合的遍歷:
- 不能用while(不支持下標(biāo)索引),只能用for循環(huán)
- 小結(jié)

- 特點(diǎn)

二十八、字典
- 定義

- 鍵值對
- key:value
- key不允許重復(fù)
- 不能用下標(biāo)索引,但是可以根據(jù)key找值
- key和value可以是任意的值,但是key不可以是字典,而value可以是字典
- 常用操作:


清空元素:字典 . clear()

遍歷:方式1:for key in keys :
方式2:for key in 字典:
統(tǒng)計(jì)字典的元素?cái)?shù)量:len(字典)
- 小結(jié)

- 字典的特點(diǎn):

二十九、數(shù)據(jù)容器特點(diǎn)的總結(jié)



三十、數(shù)據(jù)容器通用操作總結(jié)



- 字符串轉(zhuǎn)列表(元組),每個(gè)每個(gè)地轉(zhuǎn)成列表中的元素
- 字典轉(zhuǎn)列表(元組),直接拋棄掉字典的value值,只取key值
- 字典轉(zhuǎn)字符串,所有的元素都會(huì)保留下來
- 轉(zhuǎn)換成集合的時(shí)候,會(huì)無序和去重
- 無法轉(zhuǎn)字典

- 排序的結(jié)果統(tǒng)統(tǒng)會(huì)變成列表對象,且字典丟失value
- 小結(jié)

三十一、字符串大小的比較


三十二、函數(shù)進(jìn)階
- 函數(shù)的多返回值

- 函數(shù)的多種傳參方式
- 位置參數(shù)

- 關(guān)鍵字參數(shù)

- 缺省參數(shù)

- 設(shè)為默認(rèn)值的參數(shù)都必須放在最后
- 不定常的參數(shù)

- 位置傳遞不定常

- 關(guān)鍵字傳遞不定常

- 匿名函數(shù)
- 函數(shù)作為參數(shù)傳遞(代碼執(zhí)行邏輯的傳遞)

- lambda匿名函數(shù)

三十三、文件操作
- 文件的編碼

- 文件的操作
- 打開(倘若沒有寫具體路徑,則默認(rèn)是在同一目錄下)

- 讀\寫


- r 模式:只讀 ,只會(huì)從上次讀取的地方開始讀取
- read(num): 讀取num個(gè)字符,若沒有num參量,則會(huì)讀取全部的字符;結(jié)果會(huì)得到一個(gè)字符串,也即 type(f.read())為str
- readlines()讀取全部行,得到列表對象
- readline():一次只讀取一行
- for循環(huán)讀取文件行
for line in 文件對象:
print(line)
- 關(guān)閉(記住 ,只能手動(dòng))
- 調(diào)用close(): f.close()
- with open(這個(gè)會(huì)自動(dòng)close文件)

- 小結(jié)

三十四、寫入

- close()方法是內(nèi)置flush()功能的
三十五、追加

三十六、捕獲異常
- 基本語法

- 捕獲指定異常

- e是異常的對象,有異常的具體信息

- 捕獲所有的異常
- except Exception as e:
- 沒有異常的時(shí)候的操作

- finally--不管有無異常,100%執(zhí)行的部分

- 小結(jié)

三十七、異常的傳遞
- 異常會(huì)一直傳遞到函數(shù)被調(diào)用的地方
三十八、python模塊的導(dǎo)入
- 模塊


- import time
- time.sleep():表示程序的暫停執(zhí)行
- 通過點(diǎn)就可以用模塊內(nèi)的全部功能(類、函數(shù)、變量)
- from 模塊名 import 功能名

- from 模塊名 import *:導(dǎo)入模塊的全部功能(此時(shí)調(diào)用某個(gè)模塊的功能時(shí),可以不用點(diǎn)操作)
- import 模塊 as 別名:相當(dāng)于換了一個(gè)名字

- 小結(jié)

三十九、python自定義模塊
- 文件的名字符合標(biāo)識(shí)符的命名規(guī)則


- 只針對from 模塊名 import *

四十、python包

- 導(dǎo)入

方式二

- 小結(jié)

四十一、第三方包

- 安裝第三方包


四十二、JSON



- 有中文時(shí),可以用如下方法進(jìn)行轉(zhuǎn)化

- 小結(jié)

四十三、pyecharts 入門

- 配置

- 全局配置

- 數(shù)據(jù)處理
- 柱狀圖


- 時(shí)間線

- 自動(dòng)播放

- 時(shí)間線設(shè)置主題

四十四、列表II
- sort方法

一、面向?qū)ο?/p>


- 成員



二、構(gòu)造方法
- __init__

- 小結(jié)

三、魔術(shù)方法(內(nèi)置的類方法)
- __str__:

- __lt__:

- __le__:

- __eq__:

- 小結(jié)

四、封裝


- 小結(jié):
