本文目錄一覽:
學習Python需要掌握哪些知識?
以下是python全棧開發課程學習路線,可以按照這個課程大綱有規劃的進行學習:
階段一:Python開發基礎
Python全棧開發與人工智能之Python開發基礎知識學習內容包括:Python基礎語法、數據類型、字符編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等。
階段二:Python高級編程和數據庫開發
Python全棧開發與人工智能之Python高級編程和數據庫開發知識學習內容包括:面向對象開發、Socket網絡編程、線程、進程、隊列、IO多路模型、Mysql數據庫開發等。
階段三:前端開發
Python全棧開發與人工智能之前端開發知識學習內容包括:Html、CSS、JavaScript開發、Jquerybootstrap開發、前端框架VUE開發等。
階段四:WEB框架開發
Python全棧開發與人工智能之WEB框架開發學習內容包括:Django框架基礎、Django框架進階、BBS+Blog實戰項目開發、緩存和隊列中間件、Flask框架學習、Tornado框架學習、Restful API等。
階段五:爬蟲開發
Python全棧開發與人工智能之爬蟲開發學習內容包括:爬蟲開發實戰。
階段六:全棧項目實戰
Python全棧開發與人工智能之全棧項目實戰學習內容包括:企業應用工具學習、CRM客戶關係管理系統開發、路飛學城在線教育平台開發等。
階段七:數據分析
Python全棧開發與人工智能之數據分析學習內容包括:金融量化分析。
階段八:人工智能
Python全棧開發與人工智能之人工智能學習內容包括:機器學習、數據分析 、圖像識別、自然語言翻譯等。
階段九:自動化運維開發
Python全棧開發與人工智能之自動化運維開發學習內容包括:CMDB資產管理系統開發、IT審計+主機管理系統開發、分佈式主機監控系統開發等。
階段十:高並發語言GO開發
Python全棧開發與人工智能之高並發語言GO開發學習內容包括:GO語言基礎、數據類型與文件IO操作、函數和面向對象、並發編程等。
對於Python開發有興趣的小夥伴們,不妨先從看看Python開發教程開始入門!B站上有很多的Python教學視頻,從基礎到高級的都有,還挺不錯的,知識點講的很細緻,還有完整版的學習路線圖。也可以自己去看看,下載學習試試。
Python其實很簡單 第十一章 正則表達式
正則表達式是一個特殊的字符序列,它用來檢查一個字符串是否與某種模式匹配。正則表達式在編譯程序中至關重要,但並不是每個人都需要特別深入的學習和掌握。在此,只介紹一些最基本的應用。
1、元字符
元字符是構成正則表達式的一些特殊字符。在正則表達式中,元字符被賦予了新的含義。
下面介紹一些常用的元字符及其含義:
. 匹配除換行符以外的任意字符。
w 匹配字母、數字、下劃線或漢字。
W 匹配w所匹配的字符以外的字符。
s 匹配單個空白符(包括Tab鍵和換行符)。
S 匹配除s匹配的字符以外的字符。
d 匹配數字。
b 匹配單詞的分界符,如:空格、標點符號或換行符。
^ 匹配字符串的開始
$ 匹配字符串的結束
2、限定符
限定符是在正則表達式中用來指定數量的字符。常用的限定符有:
? 匹配前面的字符0或1次。如:zo?m可以匹配zom和zm,但不能匹配 zoom
+ 匹配前面的字符1或n次。如:zo?m可以匹配zom和zoom,但不能匹配zm
* 匹配前面的字符0或n次。如:zo?m可以匹配zom、zoom和zm
{n} 匹配前面的字符n次。如:zo{2}m可以匹配zoom,但不能匹配zom和zm
{n,} 匹配前面的字符至少n次。如:zo{1,}m可以匹配zom和zoom,但不能匹配zm
{n,m} 匹配前面的字符至少n次,最多m次。如:zo{1,2}m可以匹配zom和zoom,但不能匹配zm
3、方括號」[ ]」的用途
方括號「[ ]」里可以列出某個字符範圍。如:[aeiou]表示匹配任意一個元音字母,[zqsl]表示匹配姓氏「趙錢孫李」的拼音第一個字母。
4、排除字符
方括號」[ ]」中的「^」字符表示排除的意思,如:[^aeiou]表示匹配任意一個非元音字母的字符。
5、選擇字符
字符「|」相當於「或」。如:(^d{3}[-]d{8})|(^d{4}[-]d{7})$可以匹配形如」 – 」或「 – 」的電話號碼格式。
6、轉義字符
對於已經用於定義元字符和限定符的字符,需要加轉義符「」來表示。
如:為了匹配形如「192.168.0.1」的IPv4地址(1~255.0~255.0~255.0~255),可以用這樣的正則表達式:^(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
這裡解釋一下第一段IP地址的規則,取值範圍為1~255,可分解為以下情況:
250~255:25[0-5];
200~249:2[0-4][0-9];
100~199:[01]{1}[0-9]{2};
0~99: [0-9]{1}[1-9]
再加上」.」: .
其他三段地址和第一段相似。
7、「( )」可以用於分組
在正則表達式中,用「( )」括起來的部分是一個整體。
8、r(或R)的意義
在正則表達式中,為了保證模式字符串為原生字符串(沒有經過加工處理的字符串),可以在模式字符串前加上一個字符『r』或『R』。例如:
# 這裡用到對的re.match()方法接下來介紹
import re # 導入re模塊
re.match(‘bPy[a-z]+’,’Python’) # 表達式’bPy[a-z]+’不能匹配』Python』
re.match(‘bPy[a-z]+’,’Python’) # 表達式’bPy[a-z]+’可以匹配』Python』
在上述代碼中,原本要用作匹配單詞開始或結束的元字符』b』在表達式中字符串中會被視為轉義一個字符『b』,為了轉義』b』就不得不再加一個』』符號。
也可以採用下面的方法:
re.match(r’bPy[a-z]+’,’Python’) #加字符』r』,可以保證原生字符串
9、match()方法
Match()方法 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match() 就返回 none。
語法格式:
re.match(pattern, string, [flags])
其中,pattern表示匹配的正則表達式;string是要匹配的字符串;flags表示標誌位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。
例:
import re #導入re模塊
print(re.match(‘www’, ”).span()) #span()函數可以獲取匹配的位置
print(re.match(‘org’, ”))
輸出結果為:
(0, 3) #在位置0到3(不包括3)匹配成功
None #從起始位置未能匹配成功
10、search()方法
search()方法用於在整個字符串中搜索第一個匹配的值,如果匹配成功,則返回Match對象,否則返回None。
語法格式:
re.search(pattern, string, [flags])
其中,pattern表示匹配的正則表達式;string是要匹配的字符串;flags表示標誌位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。
例如:
re.search(r’Pyw+’,’It’s easy to use Python, but it’s not easy to learn Python.’)
可以看出,目標字符串「It’s easy to use Python, but it’s not easy to learn Python.」中一共有兩個『Python』,search()方法可以從字符串的起始位置開始查找到『Python』,當找到第一個匹配值後就停止查找,返回位置信息。
match()和search()的比較
match()要求目標字符串的起始位置就能匹配,search()對目標字符串全段進行逐次匹配,只要首次匹配成功就停止匹配。
請看下例:
import re
print(re.match(r’Pyw+’,’It’s easy to use Python, but it’s not easy to learn Python.’))
輸出結果:None
11、findall()方法
findall()方法用於在整個字符串中搜索所有匹配的值,如果匹配成功,則返回以匹配值為元素的列表,否則返回空列表。
語法格式:
re.findall(pattern, string[, flags])
其中,pattern表示匹配的正則表達式;string是要匹配的字符串;flags表示標誌位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。
例:
import re
print(re.findall(r’Pyw+’,’It’s easy to use Python, but it’s not easy to learn Python.’))
輸出結果:[‘Python’, ‘Python’]
可以看出,findall()的結果沒有指出匹配的具體位置。
12、正則表達式的應用
字符串替換
這裡要用到sub()方法。它的語法格式如下:
re.sub(pattern, repl, string [,count] [,flgs])
其中,pattern是模式字符串;repl是用於替換的字符串;string是原字符串;可選參數count為模式匹配後替換的最大次數,省缺表示替換所有的匹配;可選參數flags的意義與前面的方法的該參數一致。
例:
import re
str1=’x=36.567 y=123.234′
str2=re.sub(‘.d+’,”,str1) #用空格代替小數點及其後的數字
print(str2)
輸出結果:x=36 y=123
分隔字符串
這裡要用到split()方法。它的返回值為一個列表,它的語法格式如下:
re.split(pattern, string [,maxsplit] [,flgs])
其中,pattern是模式字符串;string是原字符串;可選參數maxsplit為最大拆分次數,省缺表示拆分所有的匹配;可選參數flags的意義與前面的方法的該參數一致。
例:
import re
str=’白日依山盡,黃河入海流。欲窮千里目,更上一層樓!’
re.split(r’,|。|!’,str) #按照「,」、「。」、「!」分隔字符串。
[‘白日依山盡’, ‘黃河入海流’, ‘欲窮千里目’, ‘更上一層樓’, ”]
注意,返回值列表中多出了一個空字符。
如何快速學習Python?
1.要有決心
做任何事情,首先要有足夠的決心和堅持,才能做好事情、學好Python也是如此。
2.勤於動手
對於編程語言的學習,不能眼高手低,學的過程中,想到就要寫出來,一方面能夠培養出寫代碼的感覺,另一方面可以加深知識的掌控。
3.一套完整的學習體系
Python編程語言的全面學習,需要擁有一整套系統的學習資料和學習計劃,全面掌握Python基礎知識,對以後解決Python編程過程中的問題十分有益!
4.項目實戰訓練
Python編程基礎知識的學習最終目的是應用於項目中,因此,項目實戰訓練必不可少,多做幾個項目,盡量是功能完整的項目,形成項目思路,對以後進行項目實戰是很有好處的!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284498.html