国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Python從入門到精通】五萬六千字對(duì)Python基礎(chǔ)知識(shí)做一個(gè)了結(jié)吧!(二十八)【值得收藏】

leeon / 747人閱讀

摘要:它是一門解析型的語言,何為解析型語言呢就是在運(yùn)行時(shí)通過解析器將源代碼一行行解析成機(jī)器碼。而像語言,等則是編譯型的語言,即通過編譯器將所有的源代碼一次性編譯成二進(jìn)制指令,生成一個(gè)可執(zhí)行的程序。

為什么寫這篇文章

我從2021年6月13號(hào)寫下第一篇Python的系列專欄算起,陸續(xù)更新了二十七篇Python系列文章。在此感謝讀者朋友們的支持和閱讀,特別感謝一鍵三連的小伙伴

本專欄起名【Python從入門到精通】,主要分為基礎(chǔ)知識(shí)和項(xiàng)目實(shí)戰(zhàn)兩個(gè)部分,目前基礎(chǔ)知識(shí)部分已經(jīng)完全介紹完畢。下一階段就是寫Python項(xiàng)目實(shí)戰(zhàn)以及爬蟲相關(guān)的知識(shí)點(diǎn)。

為了對(duì)前期學(xué)習(xí)的Python基礎(chǔ)知識(shí)做一個(gè)總結(jié)歸納,以幫助讀者朋友們更好的學(xué)習(xí)下一部分的實(shí)戰(zhàn)知識(shí)點(diǎn),故在此我寫下此文,共勉,同進(jìn)

同時(shí)為了方便大家交流學(xué)習(xí),我這邊還建立了一個(gè)Python的學(xué)習(xí)群。群里都是一群熱愛學(xué)習(xí)的小伙伴,不乏一些牛逼的大佬。大佬帶飛,我相信進(jìn)入群里的小伙伴一定會(huì)走的更快,飛的更高。 歡迎掃碼進(jìn)群。

本專欄寫了什么

下面就通過一個(gè)思維導(dǎo)圖,展示本專欄Python基礎(chǔ)知識(shí)部分的總覽圖。

本專欄從零基礎(chǔ)出發(fā),從環(huán)境的搭建到高級(jí)知識(shí)點(diǎn)的學(xué)習(xí),一步步走來,相信各位讀者朋友們?cè)缫颜莆障嚓P(guān)的知識(shí)點(diǎn)。接下來就做一個(gè)詳細(xì)的回顧。

0.何為Python

Python是一門開源免費(fèi)的,通用型的腳本編程語言。它需要在運(yùn)行時(shí)將代碼一行行解析成CPU能識(shí)別的機(jī)器碼。它是一門解析型的語言,何為解析型語言呢?就是在運(yùn)行時(shí)通過解析器將源代碼一行行解析成機(jī)器碼。而像C語言,C++等則是編譯型的語言,即通過編譯器將所有的源代碼一次性編譯成二進(jìn)制指令,生成一個(gè)可執(zhí)行的程序。解析型語言相對(duì)于編譯型語言的好處就是天然具有跨平臺(tái)的特點(diǎn),一次編碼,到處運(yùn)行。

1. 開發(fā)環(huán)境配置

  1. 下載Python解釋器
    如同Java需要安裝JDK 編譯器一樣,Python也需要安裝解釋器來運(yùn)行Python程序。
    官方的下載網(wǎng)址是: https://www.python.org/downloads/,映入眼簾的是最新的發(fā)布版本,如果想下載其他版本的話,可以下來找到如下圖所示的信息,當(dāng)前的最新版本是 python 3.9.5 版本。根據(jù)你開發(fā)電腦的系統(tǒng)選擇不同系統(tǒng)的安裝包。


    安裝包下載之后雙擊運(yùn)行進(jìn)行安裝。需要注意的是在Window下安裝需要勾選 Add Python 3.8 to PATH,如下圖1.2所示

    安裝完成之后在命令行中輸入python3 驗(yàn)證安裝的結(jié)果,如果出現(xiàn)如下結(jié)果就表明安裝Python編譯器安裝成功了。

    詳細(xì)內(nèi)容可以查看【Python從入門到精通】(一)就簡(jiǎn)單看看Python吧

2. 工具安裝

2.1. 安裝PyCharm開發(fā)工具

工欲善其事必先利其器,在實(shí)際開發(fā)中我們都是通過IDE(集成開發(fā)環(huán)境)來進(jìn)行編碼,為啥要使用IDE呢?這是因?yàn)镮DE集成了語言編輯器,自動(dòng)建立工具,除錯(cuò)器等等工具可以極大方便我們快速的進(jìn)行開發(fā)。打個(gè)比方 我們可以將集成開發(fā)環(huán)境想象成一個(gè)臺(tái)式機(jī)。雖然只需要主機(jī)就能運(yùn)行起來,但是,還是需要顯示器,鍵盤等才能用的爽。
PyCharm就是這樣一款讓人用的很爽的IDE開發(fā)工具。下面就簡(jiǎn)單介紹一下它的安裝過程

下載安裝包

點(diǎn)擊鏈接 https://www.jetbrains.com/pycharm/download/
進(jìn)入下來頁面,PyCharm 有專業(yè)版和社區(qū)版。其中,專業(yè)版需要購買才能使用,而社區(qū)版是免費(fèi)的。社區(qū)版對(duì)于日常的Python開發(fā)完全夠用了。所以我們選擇PyCharm的社區(qū)版進(jìn)行下載安裝。點(diǎn)擊如下圖所示的按鈕進(jìn)行安裝包的下載。

安裝

安裝包下載好之后,我們雙擊安裝包即可進(jìn)行安裝,安裝過程比較簡(jiǎn)單,基本只需要安裝默認(rèn)的設(shè)置每一步點(diǎn)擊Next按鈕即可,不過當(dāng)出現(xiàn)下圖的窗口時(shí)需要設(shè)置一下。

設(shè)置好之后點(diǎn)擊 Next 進(jìn)入下一步的安裝,知道所有的安裝都完成。

使用

這里使用只需要注意一點(diǎn),就是設(shè)置解釋器,默認(rèn)的話在Project Interpreter的選擇框中是提示的是 No interpreter,即沒有選中解釋器,所以,我們需要手動(dòng)添加。
所以需要點(diǎn)擊設(shè)置按鈕設(shè)置解釋器,這里選擇 Add Local 設(shè)置本地的解釋器。

打開解釋器的設(shè)置頁面之后,默認(rèn)選中的是Virtualenv Environment 這個(gè)tab頁,
這里L(fēng)ocation是用來設(shè)置項(xiàng)目的虛擬環(huán)境,具體可以參考pycharm的使用小結(jié),設(shè)置虛擬環(huán)境,更換鏡像源
Base interpreter 用來設(shè)置解釋器的路徑。

至此,開發(fā)Python的腳手架已經(jīng)弄好,接下來就是編碼了。
如下創(chuàng)建了一個(gè)名為demo_1.py的文件,然后在文件中寫入了如下幾行代碼

print("你好,世界")a = 120b = 230print(a + b)

運(yùn)行這些代碼只需要簡(jiǎn)單的右鍵選中 Run ‘demo_1’ 或者 Debug ‘demo_1’ ,這兩者的區(qū)別是Run demo_1是以普通模式運(yùn)行代碼,而 Debug ‘demo_1’ 是以調(diào)試模式運(yùn)行代碼。

運(yùn)行結(jié)果就是:

詳細(xì)內(nèi)容可以查看【Python從入門到精通】(二)怎么運(yùn)行Python呢?有哪些好的開發(fā)工具

3. 編碼規(guī)范&注釋

3.1.注釋

首先介紹的是Python的注釋,Python的注釋分為兩種:?jiǎn)涡凶⑨尯投嘈凶⑨尅?/p>

  1. 單行注釋
    Python使用 # 號(hào)作為單行注釋的符號(hào),其語法格式為:#注釋內(nèi)容 從#號(hào)開始直到這行結(jié)束為止的所有內(nèi)容都是注釋。例如:
# 這是單行注釋
  1. 多行注釋
    多行注釋指一次注釋程序中多行的內(nèi)容(包含一行) ,Python使用三個(gè)連續(xù)的 單引號(hào)’’’ 或者三個(gè)連續(xù)的雙引號(hào)""" 注釋多行內(nèi)容。其語法格式是如下:
"""三個(gè)連續(xù)的單引號(hào)的多行注釋注釋多行內(nèi)容"""

或者

"""三個(gè)連續(xù)的雙引號(hào)的多行注釋注釋多行內(nèi)容"""

多行注釋通常用來為Python文件、模塊、類或者函數(shù)等添加版權(quán)或者功能描述信息(即文檔注釋)

3.2.縮進(jìn)規(guī)則

不同于其他編程語言(如Java,或者C)采用大括號(hào){}分割代碼塊,Python采用代碼縮進(jìn)冒號(hào) : 來區(qū)分代碼塊之間的層次。如下面的代碼所示:

a = -100                     if a >= 0:    print("輸出正數(shù)" + str(a))    print("測(cè)試")else:    print("輸出負(fù)數(shù)" + str(a))

其中第一行代碼a = -100和第二行代碼if a >= 0:是在同一作用域(也就是作用范圍相同),所以這兩行代碼并排。而第三行代碼print("輸出正數(shù)" + str(a)) 的作用范圍是在第二行代碼里面,所以需要縮進(jìn)。第五行代碼也是同理。第二行代碼通過冒號(hào)和第三行代碼的縮進(jìn)來區(qū)分這兩個(gè)代碼塊。
Python的縮進(jìn)量可以使用空格或者Tab鍵來實(shí)現(xiàn)縮進(jìn),通常情況下都是采用4個(gè)空格長(zhǎng)度作為一個(gè)縮進(jìn)量的
這里需要注意的是同一個(gè)作用域的代碼的縮進(jìn)量要相同,不然會(huì)導(dǎo)致IndentationError異常錯(cuò)誤,提示縮進(jìn)量不對(duì),如下面代碼所示:第二行代碼print("輸出正數(shù)" + str(a)) 縮進(jìn)了4個(gè)空格,而第三行代碼print("測(cè)試")只縮進(jìn)了2個(gè)空格。

if a >= 0:    print("輸出正數(shù)" + str(a))  print("測(cè)試")

在Python中,對(duì)于類定義,函數(shù)定義,流程控制語句就像前面的if a>=0:,異常處理語句等,行尾的冒號(hào)和下一行縮進(jìn),表示下一個(gè)代碼塊的開始,而縮進(jìn)的結(jié)束則表示此代碼的結(jié)束。
詳細(xì)內(nèi)容可以查看【Python從入門到精通】(三)Python的編碼規(guī)范,標(biāo)識(shí)符知多少?

4. 數(shù)據(jù)類型

4.1.各種數(shù)據(jù)類型總覽

4.2.整數(shù)(int)

Python3中的整數(shù)是不分類型,也就是說沒有長(zhǎng)整數(shù)類型(Long)或者短整數(shù)類型(short)之分,它的取值范圍是是無限的,即不管多大或者多小的數(shù)字,Python都能輕松的應(yīng)對(duì)。如下就是兩個(gè)極大或者極小的整數(shù)。

>>> 100000-00000000000000000000000000000000000000001000000000000000000000000000000000000000000000>>> print(-1000000000000000000000000000000000000000000000)-1000000000000000000000000000000000000000000000

可以看出再大或者再小的數(shù)字都不會(huì)出現(xiàn)溢出的情況,這說明了Python對(duì)整數(shù)的處理能力非常強(qiáng)。

整數(shù)的不同進(jìn)制

Python中可以用多種進(jìn)制的來表示整數(shù)。

  1. 十進(jìn)制形式
    我們平時(shí)常見的整數(shù)就是十進(jìn)制形式,它由 0~9 共十個(gè)數(shù)字排列組合而成。
    注意,使用十進(jìn)制形式的整數(shù)不能以 0 作為開頭,除非這個(gè)數(shù)值本身就是 0。
  2. 二進(jìn)制形式
    由 0 和 1 兩個(gè)數(shù)字組成,書寫時(shí)以0b或0B開頭。例如,1001對(duì)應(yīng)十進(jìn)制數(shù)是 9。
  3. 八進(jìn)制形式
    八進(jìn)制整數(shù)由 0~7 共八個(gè)數(shù)字組成,以0o或0O開頭。注意,第一個(gè)符號(hào)是數(shù)字 0,第二個(gè)符號(hào)是大寫或小寫的字母 O。
  4. 十六進(jìn)制形式
    由 0~9 十個(gè)數(shù)字以及 A~F(或 a~f)六個(gè)字母組成,書寫時(shí)以0x或0X開頭。
# 二進(jìn)制a=0b1001print("a=",a)# 八進(jìn)制b=0o207print("b=",b)# 十六進(jìn)制c=0x45print("c=",c)

運(yùn)行結(jié)果是:

a= 9b= 135c= 69

Python 3.x允許使用下劃線_作為數(shù)字(包括整數(shù)和小數(shù))的分隔符,通常每隔三個(gè)數(shù)字添加一個(gè)下劃線,比如:click = 1_301_547

4.3. 浮點(diǎn)數(shù)/小數(shù)(float)

在編程語言中,小數(shù)通常以浮點(diǎn)數(shù)的形式存儲(chǔ),浮點(diǎn)數(shù)和定點(diǎn)數(shù)是相對(duì)的;小數(shù)在存儲(chǔ)過程中如果小數(shù)點(diǎn)發(fā)生移動(dòng),就稱為浮點(diǎn)數(shù);如果小數(shù)點(diǎn)不動(dòng),就稱為定點(diǎn)數(shù)。

小數(shù)的書寫形式

Python中的小數(shù)有兩種書寫形式:

  1. 十進(jìn)制形式
    這就是我們經(jīng)常看到的小數(shù)形式,比如101.1;234.5;0.23
  2. 指數(shù)形式
    Python小數(shù)點(diǎn)指數(shù)形式的寫法為:aEn或aen
    a為尾數(shù)部分,是一個(gè)十進(jìn)制,n為指數(shù)部分,是一個(gè)十進(jìn)制,E或者e是固定的字符,用于分割尾數(shù)部分和指數(shù)部分,真的表達(dá)式是 a×10n。
    舉個(gè)栗子:
    2.3E5=2.3x10的5次方
    依然還舉個(gè)栗子:
x=10.01print("x=",x)y=-0.031print("y=",y)z=2.3E10print("z=",z)w=-0.00000001print("w=",w)

運(yùn)行結(jié)果是:

x= 10.01y= -0.031z= 23000000000.0w= -1e-08

4.4.布爾類型(bool)

布爾類型用來表示真(對(duì))或假(錯(cuò)),比如常見的3>2 比較算式,這個(gè)是正確的,Python中使用True來代表;再比如2>3 比較算式,這個(gè)是錯(cuò)誤的,用False來代表。

print(3>2)print(2>3)print("True==1的結(jié)果是:",True==1)print("False==0的結(jié)果是:",False==0)

運(yùn)行結(jié)果是:

TrueFalseTrue==1的結(jié)果是: TrueFalse==0的結(jié)果是: True

詳細(xì)內(nèi)容可以查看【Python從入門到精通】(四)Python的內(nèi)置數(shù)據(jù)類型有哪些呢?數(shù)字了解一下

5. 序列

序列(sequence)指的是一塊可存放多個(gè)元素的內(nèi)存空間,這些元素按照一定的順序排列。每個(gè)元素都有自己的位置(索引),可以通過這些位置(索引)來找到指定的元素。如果將序列想象成一個(gè)酒店,那么酒店里的每個(gè)房間就相當(dāng)于序列中的每個(gè)元素,房間的編號(hào)就相當(dāng)于元素的索引,可以通過編號(hào)(索引)找到指定的房間(元素)。

5.1.有哪些序列類型呢?

了解完了序列的基本概念,那么在Python中一共有哪些序列類型呢?如下圖所示:

從圖中可以看出在Python中共有7種序列類型,分別是文本序列類型(str);二進(jìn)制序列類型 bytes和bytearray;列表(list);元組(tuple);集合類型(set和frozenset);范圍類型(range)以及字典類型(dict)。

5.2. 按照能存儲(chǔ)的元素劃分

按照能存儲(chǔ)的元素可以將序列類型劃分為兩大類:分別是:容器序列和扁平序列
容器序列:即可容納不同數(shù)據(jù)類型的元素的序列;有 list;tuple;set;dict
舉個(gè)栗子:

list=["runoob",786,2.23,"john",70.2]

這里的list保存的元素有多種數(shù)據(jù)類型,既有字符串,也有小數(shù)和整數(shù)。
扁平序列:即只能容納相同數(shù)據(jù)類型的元素的序列;有bytes;str;bytearray,以str為例,同一個(gè)str只能都存儲(chǔ)字符。

5.2. 按照是否可變劃分

按照序列是否可變,又可分為可變序列和不可變序列。
這里的可變的意思是:序列創(chuàng)建成功之后,還能不能進(jìn)行修改操作,比如插入,修改等等,如果可以的話則是可變的序列,如果不可以的話則是不可變序列。
可變序列有列表( list);字典(dict)等,
不可變的序列有元祖(tuple),后面的文章會(huì)詳細(xì)的對(duì)這些數(shù)據(jù)類型做詳細(xì)介紹。

5.3. 序列的索引

在介紹序列概念的時(shí)候,說到了序列中元素的索引,那么什么是序列的索引呢?其實(shí)就是位置的下標(biāo)。 如果對(duì)C語言中的數(shù)組有所了解的話,我們知道數(shù)組的索引下標(biāo)都是從0開始依次遞增的正數(shù),即第一個(gè)元素的索引下標(biāo)是0,第n個(gè)元素的索引下標(biāo)是n-1。序列的索引也是同理,默認(rèn)情況下都是從左向右記錄索引,索引值從0開始遞增,即第一個(gè)元素的元素的索引值是0,第n個(gè)元素的索引值是n-1。如下圖所示:

當(dāng)然與C語言中數(shù)組不同的是,Python還支持索引值是負(fù)數(shù),該類的索引是從右向左計(jì)數(shù)。換句話說,就是從最后一個(gè)元素開始計(jì)數(shù),從索引值-1開始遞減,即第n個(gè)元素的索引值是-1,第1個(gè)元素的索引值是-n,如下圖所示:

5.4.序列切片

切片操作是訪問序列元素的另一種方式,它可以訪問一定范圍內(nèi)的元素,通過切片操作,可以生成一個(gè)新的序列。切片操作的語法格式是:

sname[start : end : step]

各個(gè)參數(shù)的含義分別是:

  1. sname: 表示序列的名稱
  2. start:表示切片的開始索引位置(包括該位置),此參數(shù)也可以不指定,不指定的情況下會(huì)默認(rèn)為0,也就是從序列的開頭開始切片。
  3. end:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認(rèn)為序列的長(zhǎng)度。
  4. step: 表示步長(zhǎng),即在切片過程中,隔幾個(gè)存儲(chǔ)位置(包括當(dāng)前位置)取一次元素,也就是說,如果step的值大于1,比如step為3時(shí),則在切片取元素時(shí),會(huì)隔2個(gè)位置去取下一個(gè)元素。
    還是舉個(gè)栗子說明下吧:
str1="好好學(xué)習(xí),天天向上"# 取出索引下標(biāo)為7的值print(str1[7])# 從下標(biāo)0開始取值,一直取到下標(biāo)為7(不包括)的索引值print(str1[0:7])# 從下標(biāo)1開始取值,一直取到下標(biāo)為4(不包括)的索引值,因?yàn)閟tep等于2,所以會(huì)隔1個(gè)元素取值print(str1[1:4:2])# 取出最后一個(gè)元素print(str1[-1])# 從下標(biāo)-9開始取值,一直取到下標(biāo)為-2(不包括)的索引值print(str1[-9:-2])

運(yùn)行的結(jié)果是:

向好好學(xué)習(xí),天天好習(xí)上好好學(xué)習(xí),天天

5.5.序列相加

Python支持類型相同的兩個(gè)序列使用"+"運(yùn)算符做想加操作,它會(huì)將兩個(gè)序列進(jìn)行連接,但是不會(huì)去除重復(fù)的元素,即只做一個(gè)簡(jiǎn)單的拼接。

str="他叫小明"str1="他很聰明"print(str+str1)

運(yùn)行結(jié)果是:他叫小明他很聰明

5.6.序列相乘

Python支持使用數(shù)字n乘以一個(gè)序列,其會(huì)生成一個(gè)新的序列,新序列的內(nèi)容是原序列被重復(fù)了n次的結(jié)果。

str2="你好呀"print(str2*3)

運(yùn)行結(jié)果是:你好呀你好呀你好呀 ,原序列的內(nèi)容重復(fù)了3次。

5.7.檢查元素是否包含在序列中

Python中可以使用in關(guān)鍵字檢查某個(gè)元素是否為序列中的成員,其語法格式為:

value in sequence

其中,value表示要檢查的元素,sequence表示指定的序列。
舉個(gè)栗子:查找字是否在字符串str1中。

str1="好好學(xué)習(xí),天天向上"print("天" in str1)

運(yùn)行結(jié)果是:True

6. 字符串

*由若干個(gè)字符組成的集合就是一個(gè)字符串(str)**,Python中的字符串必須由雙引號(hào)""或者單引號(hào)’"包圍。其語法格式是:

"字符串內(nèi)容""字符串內(nèi)容"

如果字符串中包含了單引號(hào)需要做特殊處理。比如現(xiàn)在有這樣一個(gè)字符串
str4="I"m a greate coder" 直接這樣寫有問題的。
處理的方式有兩種:

  1. 對(duì)引號(hào)進(jìn)行轉(zhuǎn)義,通過轉(zhuǎn)義符號(hào)/進(jìn)行轉(zhuǎn)義即可:
str4="I/"m a greate coder"
  1. 使用不同的引號(hào)包圍字符串
str4="I"m a greate coder"

這里外層用雙引號(hào),包裹字符串里的單引號(hào)。

6.1.字符串拼接

通過+運(yùn)算符
現(xiàn)有字符串碼農(nóng)飛哥好,,要求將字符串碼農(nóng)飛哥牛逼拼接到其后面,生成新的字符串碼農(nóng)飛哥好,碼農(nóng)飛哥牛逼
舉個(gè)例子:

str6 = "碼農(nóng)飛哥好,"# 使用+ 運(yùn)算符號(hào)print("+運(yùn)算符拼接的結(jié)果=",(str6 + "碼農(nóng)飛哥牛逼"))

運(yùn)行結(jié)果是:

+運(yùn)算符拼接的結(jié)果= 碼農(nóng)飛哥好,碼農(nóng)飛哥牛逼

6.2.字符串截取(字符串切片)

切片操作是訪問字符串的另一種方式,它可以訪問一定范圍內(nèi)的元素,通過切片操作,可以生成一個(gè)新的字符串。切片操作的語法格式是:

sname[start : end : step]

各個(gè)參數(shù)的含義分別是:

  1. sname: 表示字符串的名稱
  2. start:表示切片的開始索引位置(包括該位置),此參數(shù)也可以不指定,不指定的情況下會(huì)默認(rèn)為0,也就是從序列的開頭開始切片。
  3. end:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認(rèn)為序列的長(zhǎng)度。
  4. step: 表示步長(zhǎng),即在切片過程中,隔幾個(gè)存儲(chǔ)位置(包括當(dāng)前位置)取一次元素,也就是說,如果step的值大于1,比如step為3時(shí),則在切片取元素時(shí),會(huì)隔2個(gè)位置去取下一個(gè)元素。
    還是舉個(gè)栗子說明下吧:
str1="好好學(xué)習(xí),天天向上"# 取出索引下標(biāo)為7的值print(str1[7])# 從下標(biāo)0開始取值,一直取到下標(biāo)為7(不包括)的索引值print(str1[0:7])# 從下標(biāo)1開始取值,一直取到下標(biāo)為4(不包括)的索引值,因?yàn)閟tep等于2,所以會(huì)隔1個(gè)元素取值print(str1[1:4:2])# 取出最后一個(gè)元素print(str1[-1])# 從下標(biāo)-9開始取值,一直取到下標(biāo)為-2(不包括)的索引值print(str1[-9:-2])

運(yùn)行的結(jié)果是:

向好好學(xué)習(xí),天天好習(xí)上好好學(xué)習(xí),天天

6.3.分割字符串

Python提供了split()方法用于分割字符串,split() 方法可以實(shí)現(xiàn)將一個(gè)字符串按照指定的分隔符切分成多個(gè)子串,這些子串會(huì)被保存到列表中(不包含分隔符),作為方法的返回值反饋回來。該方法的基本語法格式如下:

str.split(sep,maxsplit)

此方法中各部分參數(shù)的含義分別是:

  1. str: 表示要進(jìn)行分割的字符串
  2. sep: 用于指定分隔符,可以包含多個(gè)字符,此參數(shù)默認(rèn)為None,表示所有空字符,包括空格,換行符"/n"、制表符"/t"等
  3. maxsplit: 可選參數(shù),用于指定分割的次數(shù),最后列表中子串的個(gè)數(shù)最多為maxsplit+1,如果不指定或者指定為-1,則表示分割次數(shù)沒有限制。
    在 split 方法中,如果不指定 sep 參數(shù),那么也不能指定 maxsplit 參數(shù)。
    舉例說明下:
str = "https://feige.blog.csdn.net/"print("不指定分割次數(shù)", str.split("."))print("指定分割次數(shù)為2次",str.split(".",2))

運(yùn)行結(jié)果是:

不指定分割次數(shù) ["https://feige", "blog", "csdn", "net/"]指定分割次數(shù)為2次 ["https://feige", "blog", "csdn.net/"]

6.4.合并字符串

合并字符串與split的作用剛剛相反,Python提供了join() 方法來將列表(或元組)中包含的多個(gè)字符串連接成一個(gè)字符串。其語法結(jié)構(gòu)是:

newstr = str.join(iterable)

此方法各部分的參數(shù)含義是:

  1. newstr: 表示合并后生成的新字符串
  2. str: 用于指定合并時(shí)的分隔符
  3. iterable: 做合并操作的源字符串?dāng)?shù)據(jù),允許以列表、元組等形式提供。
    依然是舉例說明:
list = ["碼農(nóng)飛哥", "好好學(xué)習(xí)", "非常棒"]print("通過.來拼接", ".".join(list))print("通過-來拼接", "-".join(list))

運(yùn)行結(jié)果是:

通過.來拼接 碼農(nóng)飛哥.好好學(xué)習(xí).非常棒通過-來拼接 碼農(nóng)飛哥-好好學(xué)習(xí)-非常棒

6.5.檢索字符串是否以指定字符串開頭(startswith())

startswith()方法用于檢索字符串是否以指定字符串開頭,如果是返回True;反之返回False。其語法結(jié)構(gòu)是:

str.startswith(sub[,start[,end]])

此方法各個(gè)參數(shù)的含義是:

  1. str: 表示原字符串
  2. sub: 要檢索的子串‘
  3. start: 指定檢索開始的起始位置索引,如果不指定,則默認(rèn)從頭開始檢索
  4. end: 指定檢索的結(jié)束位置索引,如果不指定,則默認(rèn)一直檢索到結(jié)束。
    舉個(gè)栗子說明下:
str1 = "https://feige.blog.csdn.net/"print("是否是以https開頭", str1.startswith("https"))print("是否是以feige開頭", str1.startswith("feige", 0, 20))

運(yùn)行結(jié)果是:

是否是以https開頭 True是否是以feige開頭 False

6.6.檢索字符串是否以指定字符串結(jié)尾(endswith())

endswith()方法用于檢索字符串是否以指定字符串結(jié)尾,如果是則返回True,反之則返回False。其語法結(jié)構(gòu)是:

str.endswith(sub[,start[,end]])

此方法各個(gè)參數(shù)的含義與startswith方法相同,再此就不在贅述了。

6.7.字符串大小寫轉(zhuǎn)換(3種)函數(shù)及用法

Python中提供了3種方法用于字符串大小寫轉(zhuǎn)換

  1. title()方法用于將字符串中每個(gè)單詞的首字母轉(zhuǎn)成大寫,其他字母全部轉(zhuǎn)為小寫。轉(zhuǎn)換完成后,此方法會(huì)返回轉(zhuǎn)換得到的字符串。如果字符串中沒有需要被轉(zhuǎn)換的字符,此方法會(huì)將字符串原封不動(dòng)地返回。其語法結(jié)構(gòu)是str.title()
  2. lower()用于將字符串中的所有大寫字母轉(zhuǎn)換成小寫字母,轉(zhuǎn)換完成后,該方法會(huì)返回新得到的子串。如果字符串中原本就都是小寫字母,則該方法會(huì)返回原字符串。 其語法結(jié)構(gòu)是str.lower()
  3. upper()用于將字符串中的所有小寫字母轉(zhuǎn)換成大寫字母,如果轉(zhuǎn)換成功,則返回新字符串;反之,則返回原字符串。其語法結(jié)構(gòu)是:str.upper()
    舉例說明下吧:
str = "feiGe勇敢飛"print("首字母大寫", str.title())print("全部小寫", str.lower())print("全部大寫", str.upper())

運(yùn)行結(jié)果是:

首字母大寫 Feige勇敢飛全部小寫 feige勇敢飛全部大寫 FEIGE勇敢飛

6.8.去除字符串中空格(刪除特殊字符)的3種方法

Python中提供了三種方法去除字符串中空格(刪除特殊字符)的3種方法,這里的特殊字符,指的是指表符(/t)、回車符(/r),換行符(/n)等。

  1. strip(): 刪除字符串前后(左右兩側(cè))的空格或特殊字符
  2. lstrip():刪除字符串前面(左邊)的空格或特殊字符
  3. rstrip():刪除字符串后面(右邊)的空格或特殊字符
    Python的str是不可變的,因此這三個(gè)方法只是返回字符串前面或者后面空白被刪除之后的副本,并不會(huì)改變字符串本身
    舉個(gè)例子說明下:
str = "/n碼農(nóng)飛哥勇敢飛 "print("去除前后空格(特殊字符串)", str.strip())print("去除左邊空格(特殊字符串)", str.lstrip())print("去除右邊空格(特殊字符串)", str.rstrip())

運(yùn)行結(jié)果是:

去除前后空格(特殊字符串) 碼農(nóng)飛哥勇敢飛去除左邊空格(特殊字符串) 碼農(nóng)飛哥勇敢飛 去除右邊空格(特殊字符串) 碼農(nóng)飛哥勇敢飛

6.9.encode()和decode()方法:字符串編碼轉(zhuǎn)換

最早的字符串編碼是ASCll編碼,它僅僅對(duì)10個(gè)數(shù)字,26個(gè)大小寫英文字母以及一些特殊字符進(jìn)行了編碼,ASCII碼最多只能表示256個(gè)字符,每個(gè)字符只需要占用1個(gè)字節(jié)。為了兼容各國的文字,相繼出現(xiàn)了GBK,GB2312,UTF-8編碼等,UTF-8是國際通用的編碼格式,它包含了全世界所有國家需要用到的字符,其規(guī)定英文字符占用1個(gè)字節(jié),中文字符占用3個(gè)字節(jié)。

  1. encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉(zhuǎn)換成 bytes 類型,這個(gè)過程也稱為“編碼”。其語法結(jié)構(gòu)是:str.encode([encoding="utf-8"][,errors="strict"])
  2. 將bytes類型的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成str類型。這個(gè)過程也稱為"解碼",其語法結(jié)構(gòu)是:bytes.decode([encoding="utf-8"][,errors="strict"])
    舉個(gè)例子說明下:
str = "碼農(nóng)飛哥加油"bytes = str.encode()print("編碼", bytes)print("解碼", bytes.decode())

運(yùn)行結(jié)果是:

編碼 b"/xe7/xa0/x81/xe5/x86/x9c/xe9/xa3/x9e/xe5/x93/xa5/xe5/x8a/xa0/xe6/xb2/xb9"解碼 碼農(nóng)飛哥加油

默認(rèn)的編碼格式是UTF-8,編碼和解碼的格式要相同,不然會(huì)解碼失敗。

6.9.序列化和反序列化

在實(shí)際工作中我們經(jīng)常要將一個(gè)數(shù)據(jù)對(duì)象序列化成字符串,也會(huì)將一個(gè)字符串反序列化成一個(gè)數(shù)據(jù)對(duì)象。Python自帶的序列化模塊是json模塊。

  1. json.dumps() 方法是將Python對(duì)象轉(zhuǎn)成字符串
  2. json.loads()方法是將已編碼的 JSON 字符串解碼為 Python 對(duì)象
    舉個(gè)例子說明下:
import jsondict = {"學(xué)號(hào)": 1001, "name": "張三", "score": [{"語文": 90, "數(shù)學(xué)": 100}]}str = json.dumps(dict,ensure_ascii=False)print("序列化成字符串", str, type(str))dict2 = json.loads(str)print("反序列化成對(duì)象", dict2, type(dict2))

運(yùn)行結(jié)果是:

序列化成字符串 {"name": "張三", "score": [{"數(shù)學(xué)": 100, "語文": 90}], "學(xué)號(hào)": 1001} 反序列化成對(duì)象 {"name": "張三", "score": [{"數(shù)學(xué)": 100, "語文": 90}], "學(xué)號(hào)": 1001} 

詳細(xì)內(nèi)容可以查看
【Python從入門到精通】(五)Python內(nèi)置的數(shù)據(jù)類型-序列和字符串,沒有女友,不是保姆,只有拿來就能用的干貨
【Python從入門到精通】(九)Python中字符串的各種騷操作你已經(jīng)爛熟于心了么?【收藏下來就挺好的】

7. 列表&元組

7.1.列表(list)的介紹

列表作為Python序列類型中的一種,其也是用于存儲(chǔ)多個(gè)元素的一塊內(nèi)存空間,這些元素按照一定的順序排列。其數(shù)據(jù)結(jié)構(gòu)是:

[element1, element2, element3, ..., elementn]

element1~elementn表示列表中的元素,元素的數(shù)據(jù)格式?jīng)]有限制,只要是Python支持的數(shù)據(jù)格式都可以往里面方。同時(shí)因?yàn)榱斜碇С肿詣?dòng)擴(kuò)容,所以它可變序列,即可以動(dòng)態(tài)的修改列表,即可以修改,新增,刪除列表元素。看個(gè)爽圖吧!

7.2.列表的操作

首先介紹的是對(duì)列表的操作:包括列表的創(chuàng)建,列表的刪除等!其中創(chuàng)建一個(gè)列表的方式有兩種:
第一種方式:
通過[]包裹列表中的元素,每個(gè)元素之間通過逗號(hào),分割。元素類型不限并且同一列表中的每個(gè)元素的類型可以不相同,但是不建議這樣做,因?yàn)槿绻總€(gè)元素的數(shù)據(jù)類型都不同的話則非常不方便對(duì)列表進(jìn)行遍歷解析。所以建議一個(gè)列表只存同一種類型的元素

   list=[element1, element2, element3, ..., elementn]

例如:test_list = ["測(cè)試", 2, ["碼農(nóng)飛哥", "小偉"], (12, 23)]
PS: 空列表的定義是list=[]
第二種方式:
通過list(iterable)函數(shù)來創(chuàng)建列表,list函數(shù)是Python內(nèi)置的函數(shù)。該函數(shù)傳入的參數(shù)必須是可迭代的序列,比如字符串,列表,元組等等,如果iterable傳入為空,則會(huì)創(chuàng)建一個(gè)空的列表。iterable不能只傳一個(gè)數(shù)字。

classmates1 = list("碼農(nóng)飛哥")print(classmates1)

生成的列表是:["碼", "農(nóng)", "飛", "哥"]

7.3. 向列表中新增元素

向列表中新增元素的方法有四種,分別是:
第一種: 使用**+運(yùn)算符將多個(gè)列表**連接起來。相當(dāng)于在第一個(gè)列表的末尾添加上另一個(gè)列表。其語法格式是listname1+listname2

name_list = ["碼農(nóng)飛哥", "小偉", "小小偉"]name_list2 = ["python", "java"]print(name_list + name_list2)

輸出結(jié)果是:["碼農(nóng)飛哥", "小偉", "小小偉", "python", "java"],可以看出將name_list2中的每個(gè)元素都添加到了name_list的末尾。
第二種:使用append()方法添加元素
append()方法用于向列表末尾添加元素,其語法格式是:listname.append(p_object)其中l(wèi)istname表示要添加元素的列表,p_object表示要添加到列表末尾的元素,可以是字符串,數(shù)字,也可以是一個(gè)序列。舉個(gè)栗子:

name_list.append("Adam")print(name_list)name_list.append(["test", "test1"])print(name_list)

運(yùn)行結(jié)果是:

["碼農(nóng)飛哥", "小偉", "小小偉", "Adam"]["碼農(nóng)飛哥", "小偉", "小小偉", "Adam", ["test", "test1"]]

可以看出待添加的元素都成功的添加到了原列表的末尾處。并且當(dāng)添加的元素是一個(gè)序列時(shí),則會(huì)將該序列當(dāng)成一個(gè)整體。
第三種:使用extend()方法
extend()方法跟append()方法的用法相同,同樣是向列表末尾添加元素。元素的類型只需要Python支持的數(shù)據(jù)類型即可。不過與append()方法不同的是,當(dāng)添加的元素是序列

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/122579.html

相關(guān)文章

  • ??爆肝十二萬字《python精通教程》,零教你變大佬??(建議收藏

    文章目錄 強(qiáng)烈推薦系列教程,建議學(xué)起來!! 一.pycharm下載安裝二.python下載安裝三.pycharm上配置python四.配置鏡像源讓你下載嗖嗖的快4.1pycharm內(nèi)部配置 4.2手動(dòng)添加鏡像源4.3永久配置鏡像源 五.插件安裝(比如漢化?)5.1自動(dòng)補(bǔ)碼神器第一款5.2漢化pycharm5.3其它插件 六.美女背景七.自定義腳本開頭八、這個(gè)前言一定要看九、pyt...

    booster 評(píng)論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 二十五歲零基礎(chǔ)轉(zhuǎn)行軟件測(cè)試怎么樣?一個(gè)過來人的心路歷程送給迷茫的你

    摘要:一個(gè)軟件測(cè)試在職老人幫你詳細(xì)分析一下。在軟件測(cè)試行業(yè),前兩點(diǎn)可以結(jié)合起來說,就是大環(huán)境和前景以及人才缺口的問題。軟件測(cè)試屬于互聯(lián)網(wǎng)技術(shù)的一個(gè)分支,就是經(jīng)常被提到的行業(yè)。你零基礎(chǔ)轉(zhuǎn)行嗷,良心奉勸你不要自學(xué)。 一個(gè)軟件測(cè)試在職老人幫你詳細(xì)分析一下。先不說軟件測(cè)試領(lǐng)域,你想轉(zhuǎn)行的話,得知道這個(gè)行...

    AlienZHOU 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<