列表 (list)
元組(tuple)
物件導向的程式設計
類和物件
物件導向的基礎語法
異常處理
模組
1.書寫時候,標點之後要空一格
2.單行注釋要離**兩格
3.變數的命名區分大小寫
4.賦值運算子中間不能使用空格
5.定義的函式與下一條語句空兩行
6.如果引用了模組,相當與加入了**,也會從上而下執行,如果有可執行函式的話,那麼也會執行可執行函式
7.所有的識別符號都只能用字母,下劃線,數字。但是只能用字元下劃線開頭
8.關鍵字後面不需要使用括號
9.print輸出時候。可以用%來格式輸出,也可以直接用大括號 f f"1234"來格式化直接輸出
10.pass 是佔位的後面的還是會執行,就像c語言只寫一對大括號
11.函式裡面 只要 針對引數 使用 賦值語句,會在 函式內部 修改 區域性變數的引用,不會影響到 外部變數的引用 會定義這個區域性變數,如果傳遞的引數是 可變型別,在函式內部,使用 方法 修改了資料的內容,同樣會影響到外部的資料
12. 呼叫函式時,如果有 多個預設引數,需要指定引數名,這樣直譯器才能夠知道引數的對應關係!就是告訴傳入的實參對應哪個形參
大駝峰式命名法
in如果在指定的序列中找到值返回 true,否則返回 false。
x 在 y 序列中 , 如果 x 在 y 序列中返回 true。
not in
如果在指定的序列中沒有找到值返回 true,否則返回 false。
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 true。
身份運算子
is 是判斷兩個識別符號是不是同乙個引用 類似id(a) = id(b)
is not 兩個識別符號是不是引用不同物件 id(a)!=id(b)
is 與 == 的區別
is是用於判斷兩個變數引用是否為同乙個 位址是不是同乙個
==是用於判讀引用變數的值是否相同
語法序列[開始位置下標:結束位置下標:步長] (左閉右開)步長預設是1
步長是跳多少步長擷取,不是擷取長度,開始位置結束位置才是長度
如果帶負號是從尾巴開始算的
開始下標是什麼步長取值就在那下面取值
1.列表用 定義,資料 之間使用 , 分隔
2. 列表 儲存相同型別的資料
3. 通過 迭代遍歷,在迴圈體內部,針對列表中的每一項元素,執行相同的操作
序號
分類關鍵字 / 函式 / 方法說明1
增加列表.insert(索引, 資料)
在指定位置插入資料
在末尾追加資料
列表.extend(列表2)
將列表2 的資料追加到列表2修改
列表[索引] = 資料
修改指定索引的資料3刪除
del 列表[索引]
刪除指定索引的資料
列表.remove[資料]
刪除第乙個出現的指定資料
列表.pop
刪除末尾資料
列表.pop(索引)
刪除指定索引資料
列表.clear
清空列表4統計
len(列表)
列表長度
列表.count(資料)
資料在列表**現的次數5排序
列表.sort()
公升序排序
列表.sort(reverse=true)
降序排序
列表.reverse()
逆序、反轉
1.元組的 元素不能修改
2.元組 表示多個元素組成的序列
3.元組用 () 定義
4.元組的 索引 從 0 開始
5.用於儲存 一串 資訊,資料 之間使用 , 分隔
6.元組中 只包含乙個元素 時,需要 在元素後面新增逗號
1.在完成某乙個需求前,首先確定 職責 —— 要做的事情(方法)
2.根據 職責 確定不同的 物件,在 物件 內部封裝不同的 方法(多個)
3.最後完成的**,就是順序地讓 不同的物件 呼叫 不同的方法
特點1.注重 物件和職責,不同的物件承擔不同的職責
2.更加適合應對複雜的需求變化,是專門應對複雜專案開發,提供的固定套路
3.需要在面向過程基礎上,再學習一些物件導向的語法
類 是對一群具有 相同 特徵 或者 行為 的事物的乙個統稱,是抽象的,不能直接使用
特徵 被稱為 屬性
行為 被稱為 方法
類 就相當於製造飛機時的圖紙,是乙個 模板,是 負責建立物件的
物件
物件 是 由類建立出來的乙個具體存在,可以直接使用
由 哪乙個類 建立出來的 物件,就擁有在 哪乙個類 中定義的:
屬性方法
物件 就相當於用 圖紙 製造 的飛機
在程式開發中,應該 先有類,再有物件
屬性和方法的確定
對 物件的特徵描述,通常可以定義成 屬性
物件具有的行為(動詞),通常可以定義成 方法
就是說控制舵機轉動,那麼舵機的角度就是他的屬性,方法就是控制他動
使用內建函式dir傳入 識別符號 / 資料,可以檢視物件內的所有屬性及方法
不想修改類,想新增屬性,直接**(物件的變數名.屬性)**
有哪乙個物件呼叫的方法,方法內的self就是哪個物件的引用(不提倡用)
當使用類名()建立物件的時候會執行
1.為物件在記憶體中分配空間-建立物件
2.為物件的屬性設定初始值-初始化方法(_init_)_init_是物件的內建方法
3.內部方法_str_必須發揮乙個字串
**類的繼承中,**方法的擴充套件 super().呼叫原來在父類中封裝的方法
子類物件不能在自己的方法內部直接訪問父類的私有屬性和私有方法
只能通過父類的公有方法間接呼叫
多型不同的子類物件呼叫相同的父類方法,產生不同的執行結果
1.以繼承和重寫父類方法為前提
類方法定義 @classmethod (修飾符) 上方提示
靜態方法 @staticmethod (修飾符) 不需要建立物件,不訪問不例項屬性、類屬性
單例模式 只建立乙個例項
意思就是只建立乙個變數,之分配乙個位址,位址是一樣的
定義乙個類屬性 初始值為none 儲存第乙個建立的物件的引用
如果想初始化動作只執行一次
可以建立乙個類屬性來記錄,在初始化的類方法中判斷類屬性,修改類屬性
try:
******
except ***:(錯誤型別)
***except exception as result:(捕獲未知 的錯誤) result 記錄著錯誤資訊
***else: 沒有異常會執行的**
finally:#無論是否會異常都會執行的**
異常是傳遞的。可以只在主程式中進行異常的捕獲
主動丟擲異常
ex = exception(「提示資訊」) #建立異常物件
raise ex #主動丟擲異常
匯入模組 import (模組的別名要使用大駝峰命名法)
給模組起別名 import ***(模組名) as zzz(別名)
只需要匯入部分工具
from 模組名 import 工具名 匯入指定的工具名 **(*)**匯入所有的工具 不用模組名. (工具)呼叫 (工作崗位上容易出錯)
如果兩個模組,存在相同的函式,然後後匯入模組的函式會覆蓋先導入的函式
python教學筆記 python學習筆記(一)
1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...
python學習筆記
coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...
Python 學習筆記
python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...