。# 第三章 列表簡介
1.常用函數
添加元素
list.append(“new”)
list.insert(0,’‘new’’)
刪除元素
del list[0] 刪除第0個元素
**list.pop()**彈出最後一個元素,並且返回,也可以選擇位置
list.remove(“new”) 刪除列表中爲new的元素
列表排序
list.sort() 永久性排序
sorted(list) 暫時排序,只是返回一個有序的結果,列表元素沒有變化位置
list.sort(reverse=True) 倒序
sorted(list,reverse=True)
列表長度
len(list) 得到長度
第四章 操作列表
1.遍歷列表
for x in list: for循環遍歷
2.數值列表
range()函數
range(0,5) 0,1,2,3,4
range(0,5,2) 0,2,4間隔爲2
用range()和list()創建列表
list(range(0,5)) [0,1,2,3,4]列表
3.統計函數
min(list) 最小值
max(list) 最大值
sum(list) 列表和
4.列表解析
用for循環和創建新元素的代碼合併成爲一行,並且附加新元素
list = [value2 for value in range(1,11)] 創建平方列表
5.切片
list[0:3] [0,1,2]
list[:] 用來複制與賦值
6.元組
tuple(range(5)) 5個元素的元組,不能修改的列表,但是能夠修改整個元組
for x in tuple: 遍歷元組
第五章 if語句
1.and/or 與和或
2.檢查特定元素是否在列表中
x in list[5] 用in這個關鍵字
3.檢查特定值是否不在列表中
** x not in list[5]** 用not in 這個關鍵字
4.條件測試,即布爾表達式
6.if語句
1).簡單if語句
if conditional_test:
do something
2).if_else語句
3).if_elif_else語句
可以使用多個elif
4).省略else代碼塊
第六章 字典
1.字典
alian_0 = {‘color’:‘green’,‘point’:5} 字典類似於map
2.刪除鍵值對
del alian_0[‘color’] 刪除元素
3.遍歷字典
1).遍歷鍵和值
for key,value in alian_0.items(): 關鍵在於items
2).遍歷鍵
for name in favorite_languages.keys(): 只是遍歷鍵,返回包含所有鍵的迭代器
for name in favorite_languages 默認遍歷鍵
3).遍歷所有值
for language in favorite_languages.values(): 遍歷所有值,返回是一個列表迭代器
for language in set(fovorite_languages.values()) 返回一個集合,剔除重複的值
4.嵌套
字典可以當作值存在字典中,列表中,同時列表可以存在字典中
第七章 用戶輸入和while循環
1.input()原理
input(“輸入:”) 這裏,會把括號內部的參數先顯示出來,再等待輸入
input()的輸入當中字符串
2.while循環簡介
while condition: 如果條件不滿足的時候退出
3.退出條件
break 提前退出
continue 結束單次循環
4.刪除特定列表元素
while “cat” in pets:
pets.remove(‘cat’) 刪除列表中所有的cat
第八章 函數
1.定義函數
def function(): 定義函數,def關鍵字用來告訴python,這是一個函數,括號內爲參數
2.傳遞實參
1).位置參數
對應位置的實參,對應對應的形參
2).關鍵字實參
在實參中將名稱和值關聯起來
3).默認值參數
通過默認參數,使形參變成可選的 形參指定默認值,等號兩邊不要有空格
4).傳遞任意數量的實參
*def function(parameter) 將傳遞來的一系列參數存入元組,任意位置實參
**def function(parame) 將傳遞來的任意的關鍵字參數存入字典
3.返回值
return x 返回值可以是任何類型,可以是字典和列表
4.傳遞列表
可以傳遞,傳遞切片就不會修改列表
5.導入函數
import ku 用import導入庫
from ku import function 從庫中導入特定的函數
from ku import function1,function2,function3 從庫中導入特定的幾個函數
from ku import function as fc 導入特定的函數,並且給一個別名
import ku as k 給導入的庫一個別名
from ku import * 導入庫中的所有函數,不用再用庫加點函數調用函數了
第九章 類
1.創建類
class Dog(): 用class創建一個類,類的名字首字母大寫
def init(self,a,b) 用init定義創建實例,方便調用,兩側短橫線有兩個
2.調用類
dog = Dog(‘lihua’,‘19’) 傳遞參數,調用類返回的是一個實例對象
3.給屬性指定默認值
在__init__()中修改默認值
4.修改屬性的值
1).直接修改屬性的值
dog.name = lisi 直接訪問修改
2).通過方法修改
通過定義的方法修改屬性值
3).通過方法對屬性值進行遞增
def increment_odometer(self,miles): 遞增里程錶
5.繼承
1).子類方法
class ElectricCar(Car): 定義子類的時候,括號內部有父類的名稱
super().init(make,model,year) 父類也稱爲超類
2).父類方法重寫
如果父類中的方法不好用,可以在子類中寫一個相同名字的方法
3).類可以當作屬性賦值給實例
self.battery = Battery() 模塊化
6.導入類
將類存在模塊內 然後導入模塊,就可以使用類,可以存儲多個類
可以在模塊中導入模塊 實現模塊分開儲存和相互關聯
7.意義
這些方法是讓工程項目模塊化,結構清晰
第十章 文件和異常
1.從文件中讀取數據
1).讀取整個文件
with open(“pi_digits.txt”) as file_object 按照路徑打開文件,與程序同文件夾用相對路徑,不同用絕對路徑,with打開的文件對象只能在with的代碼塊內用
2).逐行讀取
for line in file_object: 逐行讀取
3).創建一個包含文件各行內容的列表
lines = file_object.readlines() 讀取文件的每一行,存在一個列表中,with外依舊可以使用這個列表
4).寫入空文件
with open(filename,‘w’) as file_object: 可寫打開文件,默認爲只讀
file_object.write(“i love programming”) 覆蓋文件本來內容
with open(filename,‘a’) as file_object: 附加打開文件
file_object.write(“i love programming”) 可以後面接着寫
2.異常
1).ZeroDivisionError異常
try-except 用來處理異常,不至於程序中斷
2).FileNotFoundError異常
try-except處理異常
3.存儲數據
1).使用json.dump()和json.load()
json.dump(numbers,f_obj) 存儲數據進入文件
numbers = json.load(f_obj) 讀取數據
4.重構
讓代碼更加清晰,結構性更強
第十一章 測試代碼
1.測試函數
import unittest 引入一個模塊來測試
class NamesTestCase(unittest.TestCase) 創建一個繼承unittest.TestCase的類
2.測試類
import unittest 引入模塊測試
setUp() python先運行這個,再運行其他test_方法