您當前的位置:首頁 > 娛樂

零基礎小白也想用6小時學會Python▶清華技能坊——20200820

作者:由 醉一心 發表于 娛樂時間:2022-11-08

連結:

https://www。

bilibili。com/video/BV1G

A411n7yx

三講部分

例項化

例項(Instance)是根據類創建出來的一個個具體的“物件“

呼叫類方法、訪問類屬性

每個物件都擁有相同的方法,但各自的屬性可能不同

構造方法

__init__

方法:在建立例項的時候,就給屬性賦值

繼承

繼承:從已有的類派生出新的類(子類)

子類繼承父類的資料屬性和行為

可以呼叫父類的函式

可以擴展出新的方法

或者覆蓋父類的方法

多型

多型:允許對不同的物件進行相同的操作。

面向物件的三大特性

封裝:隱藏不必要的內部實現細節,對外公開介面。

繼承:從已有的類派生出新的類(子類),子類繼承父類的資料屬性和行為,並能根據自己的需求擴展出新的方法或者覆蓋父類的方法。

多型:允許對不同的物件進行相同的操作。

模組

內建模組

模組/庫/包

開箱即用,"batteries included"

模組(module):一個。py檔案就稱之為一個模組

包(package):有層次的檔案目錄結構,可能有n個模組或n個子包

庫(library):能完成一定功能、供使用者使用的程式碼集合(抽象概念),在python中是包和模組的形式。

優點

提高了程式碼的可維護性

不必從零開始

時間與日期

time模組

datetime模組:重新封裝了time模組,提供更多介面

中文日期:locale模組

根據計算機使用者所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的一個軟體執行時的語言環境。

隨機數:random模組

可以控制隨機數種子

更復雜的隨機數:numpy模組

PyQt5*

更高階的介面:pyqt5模組

三種常見的import 方法

import

L3_inherit

#直接匯入

import

L3_inherit

as

CC

#匯入並且是一個期名

from

L3_inherit

import

Hanxin

Libai

#選擇性匯入一部分

第三方庫

操作Word:python-docx模組

操作Excel:xlwings模組

操作Pdf:PyPDF2模組

科學計算:numpy模組

資料分析:pandas模組

模糊字串匹配:fuzzywuzzy

中文分詞工具:jieba

開源計算機視覺庫:OpenCV

深度學習框架:pytorch, tensorflow,keras。。。。。

影象操作:pillow模組

玩轉檔案

路徑處理

工作目錄

當前工作目錄(cwd,current working directory):所有沒有從根目錄開始的檔名或路徑,都假定在當前工作目錄下。

相對路徑、絕對路徑

絕對路徑:總是從根目錄開始。Window系統中以碟符(C:、E:)作為根目錄,而OS X或者Linux系統中以/作為根目錄。 相對路徑指的是檔案相對於當前工作目錄所在的位置。

斜槓

Windows系統:右斜槓\(反斜槓),或者轉義斜槓

\\

OS X或者Linux系統:左斜槓/(除號)

Python中不做區分

跨平臺的時候需要考慮相容性

os模組

內建模組os提供了作業系統服務,其子模組os。path可以用於路徑處理

路徑處理常用操作:檢視、建立、刪除、改名、複製、移動、檔名的拆分與組合……根據需要,現用現查

舉例:若資料夾不存在則建立

import

os

folder_name

=

”txt_samples”

existance

=

os

path

exists

folder_name

#判斷檔案/資料夾是否存在

print

existance

if

not

existance

#若資料夾不存在則建立

os

mkdir

folder_name

file_name

=

os

path

join

folder_name

“summer。txt”

#合併檔名

具體檔案處理舉例

辦公文件 Word

docx文件的格式組成

docx檔案本質上是一個

ZIP檔案

主要內容儲存為

XML格式

document。xml檔案包含了文件的主要文字內容

段落物件:paragraph

➢縮排、間距、對齊……

最基本的單位:run

➢字型、大小、顏色。。。。。

零基礎小白也想用6小時學會Python▶清華技能坊——20200820

Excel

零基礎小白也想用6小時學會Python▶清華技能坊——20200820

xlwings

,讓excel飛起來

安裝:

pip install xlwings

匯入:

import xlwings as xw

使用步驟:

開啟應用-操作-退出應用

pandas

不能在原excel中修改,只能讀取、寫入新表格

讀寫速度快:不需要開啟Excel應用程式

PPT

python-pptx

*

安裝:pip install python-pptx

匯入:import pptx

PDF

PyPDF2

三劍客:PdfFileMerger;PdfFileReader,PdfFileWriter

資料檔案

CSV

逗號分隔值檔案(Comma-Separated Values,CSV)

以純文字形式儲存

表格資料

(數字和文字)

CSV檔案由任意數目的記錄組成,每條記錄之間以某種換行符分

每條記錄由欄位組成,欄位間的分隔符是其它字元或字串,最常見的是逗號或製表符

JSON

JSON(JavaScript Object Notation,JS物件簡譜)是一種輕量級的純文字格式,用於儲存和表示資料

完全獨立於程式語言

易於人類閱讀和機器解析

網路傳輸效率高

內建模組json,讀&寫

零基礎小白也想用6小時學會Python▶清華技能坊——20200820

資料處理入門

資料處理安裝必備庫

科學計算:NumPy

資料處理:pandas

資料視覺化:matplotlib

NumPy

Numerical Python,科學計算的基礎包

快速、高效的

高維陣列物件ndarray

從序列建立陣列

向量運算

相同尺寸:逐元素運算

不同尺寸:標量x向量:向量的數乘

陣列廣播:廣播維必須為1,廣播維之外的維度相同

可以有效的進行運算

資料處理:pandas

Panel data或Python data analysis,基於NumPy,是資料分析的基礎包

源自金融資料應用,支援時間序列分析&非時間序列分析

快速、便捷地處理結構化資料(索引、資料對齊)

靈活處理缺失資料

Series:序列型資料結構(一維);索引+值

DataFrame:表格型資料結構(二維或高維);行/列+值

構造DataFrame的辦法有很多

常用:直接傳入一個由等長列表或NumPy陣列組成的字典

一圖抵千言,A picture is worth a thousand words。

視覺化的作用:真實、準確地展示資料;揭示資料的關係、規律

資料視覺化常用工具

Python:

matplotlib

,Seaborn,plotline

R:ggplot2

軟體或線上工具:Excel,Power BI,Echart,Tableau

Matplotlib繪圖

基本操作:從序列畫圖

零基礎小白也想用6小時學會Python▶清華技能坊——20200820

資料視覺化應用舉例

分類效果;誤差分佈;模擬與實測比較;t-sne高維特徵

時間序列;聚類;三維資料;強調排序和差距

日期活躍情況;層次聚類;相關度;變化趨勢

網路爬蟲入門

什麼是網路爬蟲?

按照一定的規則,自動從網路中提取資訊的程式。

網路爬蟲有什麼用?

獲取資訊

自動操作、省時省力

為什麼要用Python寫網路爬蟲?

字串處理方便

第三方庫完善

網頁的組成

骨架:HTML

Hyper Text Markup Language,超文字標記語言

透過不同型別的標籤,不同的元素相互巢狀和組合,形成網頁的框架

肌肉:Javascript

透過JS指令碼定義網頁的行為

例:互動、動畫、播放音樂或影片。

正則表示式

內建模組:re

正則表示式(regular expression):一種字串匹配的模式(pattern)

用途:在一個字串中搜索、替換、提取符合某個條件的子串

爬蟲的法律問題

爬蟲玩得好,監獄進的早;資料玩的溜,牢飯吃個夠

侵犯公民個人資訊罪

:採集公民的姓名、身份證件號碼、通訊通訊聯絡方式、住址、賬號密碼、財產狀況、行蹤軌跡等個人資訊,並將之用於非法途徑的

現金貸風控、不合規的P2P、賭博類遊戲、黑五類產品。。。。

友情提示:爬蟲可能違法了

新三板掛牌公司涉竊取30億條個人資訊,非法牟利超千萬元

非法獲取計算機資訊系統資料罪

:爬蟲程式規避網站經營者設定的反爬蟲措施或者破解伺服器防抓取措施,或強行訪問正常情況不能到達的頁面;非法獲取相關資訊

破壞計算機資訊系統罪

:爬蟲程式干擾被訪問的網站正常運營(近乎DDOS的請求頻率,造成伺服器癱瘓)

法律依據:

中華人民共和國網路安全法

灰色產業

12306刷票軟體

社交平臺殭屍粉、直播平臺刷量、電商刷單、偷取社群內容

爬蟲技術本身中立,法律不禁止爬蟲

搜尋引擎、聚合導航、資料分析、人工智慧等業務,都需要基於爬蟲技術

不要爬取個人資訊,不要利用爬蟲非法獲利,不要爬取網站的付費內容

Ajax抓取 Ajax(Asynchronous JavaScript and XML,非同步JavaScript 和XML)

採用Ajax、前端模組化工具來構建

其API介面通常採用JSON格式

爬取方法

分析其後臺Ajax介面

使用Selenium、Splash 等庫來實現模擬JavaScript渲染

檢視網路傳輸資料流的方法

右鍵→檢視元素→點選網路

快捷鍵:F12

選單→Web開發者-→網路

進階方向*

提升爬蟲效率

多執行緒、多程序

分散式、叢集化

大資料儲存

提升反爬技術

瀏覽器控制:Selenium、Splash

APP/JavaScript逆向

代理池

驗證碼破解

標簽: 模組  爬蟲  資料  os  斜槓