python基礎——華為AI學習筆記7
1. 常用數據結構

1.1. Python內置的數據結構
數值、字符串、列表、元組、字典、集合
有序:列表、字符串、元組
無序:字典、集合、數值
可變:列表、字典、集合
不可變:字符串、元組、數值
1.2. 數值
Python3數值包括:int ?float ?bool complex(復數)
基本運算:加、減、乘、除(/)、取余(%)、取整(//)
1.3. 字符串
有序序列
+:拼接
*:乘n,重復n次
r:原始字符串
\:轉意字符
1.3.1. 基本操作
分割:str1.split(str2),返回列表
替換:str1.replace(str2, str3)
轉換成大寫:str1.upper()
轉換成小寫:str1.lower()
拼接:str1.join(iter),例,"-".join("str")="s-t-r"
格式化輸出:%,例,"My name is %s, age is %d" % ('AI', 63)=My name is AI, age is 63。%4d、...
1.4. 列表
有序序列
+:拼接
*:乘n,重復n次
1.4.1. 增加
l.append(obj)
l.isert(index, obj)
l.extend(iter),相當于l+iter
1.4.2. 刪除
l.pop(index)
l.remove(obj):刪除列表中和一個出現的給定元素
1.4.3. 查的
l.index(obj)
1.4.4. 排序
l.sort()
1.4.5. 逆序
l.reverse()
1.4.6. 數量統計
l.count(obj)
1.5. 元組
有序序列
不可變
1.6. 字典
鍵值對
鍵必須是不可變數據結構且唯一
1.6.1. 常用操作
d.get(key, default=None)
d.items()
d.keys()
d.values()
d[key] = value
d.update(d1),使用d1對d進行更新
d.pop(key):刪除并返回對應的value
d.popitem():隨機刪除并返回鍵值對
d.clear():清空字典
1.7. 集合
不重復性
有限性
交集:&
對稱差集:^
并集:|
差集:-
添加:s.add(obj)、s.update(obj)obj可以是列表、字典
刪除:s.remove(obj)(元素不存在時會拋出異常)、s.discard(obj)(元素不存在時不會拋出異常)、s.clear()、s.pop()隨機刪除一個元素
1.8. 數據結構的操作
1.8.1. 深拷貝與淺拷貝
賦值:B = A,B修改后A與修改
淺拷貝:B = A.copy(),B的修改會影響A里的嵌套結構
深拷貝:B = A.deepcopy()
1.8.2. 運算符
常用運算符:算法、比較、賦值、邏輯、位、成員、身份
2. 控制流語句
2.1. 判斷語句if
if 判斷條件1:
執行語句1
elif 判斷條件2:
執行語句2
else:
執行語句3
0:False;其他數值:True
空串:False;其他串:True
2.2. 循環語句
2.2.1. for
for iter in iters:
循環語句塊
else: ?#循環執行完后執行
語句塊
2.2.2. while
while 條件語句:
循環語句塊
else: ?#循環執行完后執行
語句塊
2.2.3. 循環終止
break:終止當前大的循環,將連循環后else也跳出
continue:跳出本次循環
3. 函數
3.1. 函數的優點
重復使用
重復使用
易于維護
易于維護
特定功能
特定功能
模塊性
模塊性
可讀性
可讀性
3.2. 函數的定義
關鍵字def
關鍵字def
三引號函數說明
三引號函數說明
語句塊縮進
語句塊縮進
return
return
匿名函數lambda
匿名函數lambda
函數調用
函數調用
3.3. 參數
必備參數:形參與實參數量一致、順序一致
必備參數:形參與實參數量一致、順序一致
關鍵字參數:a=X,b=X
關鍵字參數:a=X,b=X
默認參數:可以不傳
默認參數:可以不傳
不定長參數:比如*args, **kwargs,args會存放所有未命名的變量參數,參數形式為元組,kwargs存放命名參數,參數形式為字典
不定長參數:比如*args, **kwargs,args會存放所有未命名的變量參數,參數形式為元組,kwargs存放命名參數,參數形式為字典
參數位置:必備、關鍵字、默認、*args、**kwargs
參數位置:必備、關鍵字、默認、*args、**kwargs
3.4. 返回值
無返回值
無返回值
多個返回值,打包成元組
多個返回值,打包成元組
4. 面向對象
4.1. 面向過程
4.1.1. 面向過程的思想
拿走蘋果→打開冰箱門→找到保鮮層→放入蘋果→關上冰箱門→完成
4.1.2.面向對象的思想:
定義對象——冰箱:可以打開、保鮮層可以放入蘋果、可以關上
實現任務:拿起蘋果→放入冰箱(使用對象)→完成
即把冰箱定義成一個對象
提高代碼的可復用性
4.2. 面向對象中的術語
4.2.1. 類
比如汽車,一個模具
4.2.2. 對象
比如某個具體的汽車
4.2.3. 方法
類的對象都有方法
4.2.4. 屬性
類和對象都有屬性
4.3. 面向對象的三大特性
4.3.1. 封裝
比如放入冰箱,具體的動作被封裝了
4.3.2. 繼承
比如在車類的基礎上創建汽車類
被繼承的類叫父類、基類、超類,繼承的類叫子類
4.3.3. 多態
繼承時,同樣的方法有不同的實現
比如動物類有方法叫,狗類繼承動物類,貓類繼承動物類,叫的方法不同
4.4. python 中的面向對象
class 類名(父類):#默認繼承Object類 '''說明文檔''' ...類體...
支持多繼承,即父類可以有多個
4.5. python中類的私有化
python中默認都是公共屬性
模塊級私有化,加"_"
完全私有化,加"__",包括繼承也不能繼承走
5. 常用標準庫和第三方庫
5.1. time
用來處理時間
time.time():獲取時間截
time.sleep():休眠
time.localtime():獲取當前時間
5.2. sys
與python解釋器交互
比如獲取當前路徑
5.3. os
與操作系統進行交互
比如查看當前路徑、查看需要引入的資源是文件還是文件夾、查看當前文件夾下的文件和文件夾
5.4. pandas
基于numpy實現
強大的數據結構:datafram
5.5. numpy
數組與矩陣運算
基于C語言實現,速度快
封裝了很多數學函數
5.6. matplotlib
畫圖庫,但只能繪制2D的圖形
6. IO操作
6.1. 打開文件
f=open(filename, mode, encoding)
6.1.1. 打開的模式
r:只讀,指針在開頭
w:可以傳入不存在的文件名,將原數據刪除,然后再寫入,指針在開頭
a:追加寫入,指針在結尾
rb:二進制只讀
wb:二進制寫入
ab:二進制追加寫入
r+:讀寫
w+:讀寫
a+:讀寫
rb+:二進制讀寫
wb+:二進制讀寫
ab+:二進制讀寫
6.1.2. 編碼格式
encoding默認utf-8
6.2. 文件操作
讀:f.read(), f.readline(), f.readlines()
f.read()可以傳入參數,讀一部分
寫: f.write()
6.3. 清空緩存
f.flush()
關閉前清空緩存,則沒有正式寫入
6.4. 關閉
f.close()
AI Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。