python小_Python小课——学习笔记(3)
數(shù)據(jù)類(lèi)型
計(jì)算機(jī)其實(shí)就是一個(gè)做數(shù)學(xué)運(yùn)算的機(jī)器,所以計(jì)算機(jī)程序的主要任務(wù)就是處理各種數(shù)值。但是計(jì)算機(jī)要處理的數(shù)值,可不僅僅只是數(shù)值,計(jì)算機(jī)還可以處理文本、音頻、視頻、圖像等數(shù)據(jù)。
Python中可以直接處理的比較簡(jiǎn)單的數(shù)據(jù)類(lèi)型,例如字符串、整數(shù)、浮點(diǎn)數(shù),還有幾個(gè)和它們相關(guān)的函數(shù):str(),int(),float(),type(),len()。
字符串的英文是string,計(jì)算機(jī)中一般簡(jiǎn)寫(xiě)為str。
字符串的呈現(xiàn)方式一般是用單引號(hào)或者雙引號(hào)括起來(lái)的文本,比如 '長(zhǎng)安'。print('長(zhǎng)安')
print('長(zhǎng)安')
第一行被打印出來(lái)的字符串長(zhǎng)安,和第二行被打印出來(lái)的字符串長(zhǎng)安,沒(méi)有任何的不一樣。所以單引號(hào)和雙引號(hào)的效果是一樣的。
需要注意的是單引號(hào)和雙引號(hào)只是一種表達(dá)方式,不是字符串的一部分。例如字符串 'ABC', 就是A 、B、C這三個(gè)字符而已。
疑問(wèn):如果字符串內(nèi)部包含了單引號(hào)【''】和雙引號(hào)【''】的話,腫么辦?
答案:利用【轉(zhuǎn)義字符\】來(lái)標(biāo)識(shí)。a1 ='Let's go'
print(a1)
這樣運(yùn)行的話,Python會(huì)報(bào)錯(cuò): SyntaxError: invalid syntax,意思是“語(yǔ)法錯(cuò)誤”,因?yàn)樗话亚皟蓚€(gè)單引號(hào)中的Let當(dāng)成了字符串。
Python是從左往右匹配單(雙)引號(hào)的——當(dāng)它讀到一個(gè)引號(hào)時(shí),會(huì)在心里嘀咕:呀,這是字符串。當(dāng)它再讀到下一個(gè)引號(hào)時(shí),會(huì)在心里嘀咕:好!字符串結(jié)束了!所以在計(jì)算機(jī)眼里,上面的'Let'是字符串,而后面的東西呢,它并不能讀懂,于是產(chǎn)生一個(gè)報(bào)錯(cuò)。
這時(shí),就需要使用轉(zhuǎn)義字符【\】,把字符串中的單引號(hào)轉(zhuǎn)義一下,此時(shí)【' Let's go '】就變成了【' Let\'s go '】a2 ='Let\'s go'
print(a2)
轉(zhuǎn)義字符【\】就是改變連接在它后面的字符本意,這樣字符串【Let's go】?jī)?nèi)部的單引號(hào)【'】就不再具備標(biāo)記字符串的意思了,所以代碼運(yùn)行時(shí)自動(dòng)跳過(guò),去匹配后面的單引號(hào)。
字符串中,單引號(hào)和雙引號(hào)的交替使用。
除此之外,還有一個(gè)辦法可以解決這個(gè)問(wèn)題,就是用雙引號(hào)來(lái)標(biāo)識(shí)字符串,像這樣:a3 ='Let's go'
print(a3)
由于你用了雙引號(hào)作為標(biāo)識(shí)符,而內(nèi)部使用的是單引號(hào),Python就能區(qū)分開(kāi)來(lái),正常運(yùn)行了。
還可以反過(guò)來(lái)干,比如說(shuō)外部用單引號(hào),然后內(nèi)部的文本含有雙引號(hào),也可以的。a = input('孔子曾說(shuō)過(guò)哪句名言?')
print('子曰:''+a+'。'')
在這行代碼里,我們能看到最后打印的字符串由三部分組成。第0部分是【子曰:'】,第1部分是變量【a】,第2部分是【。'】,這三部分用加號(hào)【+】連接起來(lái)了。
另一種轉(zhuǎn)義字符【\n】,它的作用是換行。poem ='說(shuō)是悲哀也可以吧。\n事物的滋味。\n我嘗得太早了。'
print(poem)
這是一首只有三行的短詩(shī),如果你想要把每一句換行呈現(xiàn)的話。可以在每一句后面加【\n】。
轉(zhuǎn)義字符還有很多,它們各有不同的功能,下面的轉(zhuǎn)義字符表可以收藏以便查看,不需要記住!你只需要在用到時(shí)查閱一下即可。
type()函數(shù)
主要用于獲取數(shù)據(jù)的數(shù)據(jù)類(lèi)型a ='吳承恩'
b = type(a)
print(b)
第1行:定義了變量a,并為其賦值。
第2行:用type() 函數(shù)獲取到了 a 的數(shù)據(jù)類(lèi)型,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數(shù)讓我們看到。
為了簡(jiǎn)潔方便,我們會(huì)這樣寫(xiě):a ='吳承恩'
print(type(a))
終端顯示了,class代表類(lèi),而str代表字符串,所以這是一個(gè)字符串的類(lèi)。(更具體的關(guān)于類(lèi)的概念會(huì)在后面的課程談到)
type()函數(shù)會(huì)在我們后期的爬蟲(chóng)學(xué)習(xí)中發(fā)揮很大的作用,先打牢基礎(chǔ)。
舉個(gè)栗子,當(dāng)我們想下載一本小說(shuō)的時(shí)候,我們通過(guò)某種方法,獲得了一個(gè)變量,里面放了數(shù)據(jù),我們期望里面放的就是小說(shuō)內(nèi)容(即字符串類(lèi)型的數(shù)據(jù))。當(dāng)我們不確定里面放的是不是字符串,這時(shí),type() 函數(shù)就能幫你確認(rèn)了。len()函數(shù)
能幫你獲取到數(shù)據(jù)的長(zhǎng)度。
它的用法和type() 非常相似。請(qǐng)看下面的代碼和解釋。a ='吳承恩'
b = len(a)
print(b)
第1行:定義了變量a,并為其賦值。
第2行:用len() 函數(shù)獲取到了 a 的長(zhǎng)度,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數(shù)讓我們看到。
一般來(lái)說(shuō),為了簡(jiǎn)潔方便,我們會(huì)這樣寫(xiě):a ='吳承恩'
print(len(a))
運(yùn)行結(jié)果是3
終端顯示了3,代表這個(gè)字符串的長(zhǎng)度為3。s ='egg'
print(len(s))
終端顯示了3,代表這個(gè)字符串的長(zhǎng)度為3。
整數(shù)長(zhǎng)啥樣子,跟普通的數(shù)字沒(méi)啥區(qū)別啦。1,23,456
Python可以處理任意大小的整數(shù),也包括負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫(xiě)法一模一樣。下面是Python中整數(shù)能做的運(yùn)算類(lèi)型。你只需要了解就好,需要時(shí)再來(lái)查看即可。
print(type(5))
print(type('5'))
終端
user1009@python-class:~/lesson/3-1/93$ python ~/lesson/3-1/93/main.py
5 和 '5' 是不一樣的了吧?一個(gè)是整數(shù),一個(gè)是字符串。print(len(5))
請(qǐng)看圖中的紅框部分,line1表示第一行代碼出了錯(cuò),然后圖片中最后一行寫(xiě)著:TypeError: object of type 'int' has no len() 。意思是類(lèi)型錯(cuò)誤:整數(shù)這個(gè)類(lèi)型沒(méi)有l(wèi)en() 函數(shù)。可見(jiàn),整數(shù)是不能使用len() 的。
浮點(diǎn)數(shù)就是帶小數(shù)的數(shù)字。1.0,3.14159,-0.33
浮點(diǎn)數(shù)的英文是float,沒(méi)有簡(jiǎn)寫(xiě)
整數(shù)運(yùn)算永遠(yuǎn)是精確的(除法難道也是精確的?是的!),而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差。print(type(1.0))
print(type(3.14159))
print(type(-0.33))
終端
user1009@python-class:~/lesson/3-1/116$ python ~/lesson/3-1/116/main.py
print(len(1.0))
print(len(3.14159))
print(len(-0.33))
看圖片中倒數(shù)第三行,寫(xiě)了問(wèn)題出在 line1,所以第一行代碼就執(zhí)行不下去。終端顯示TypeError: object of type 'float' has no len()。意思是類(lèi)型錯(cuò)誤:浮點(diǎn)數(shù)這個(gè)類(lèi)型沒(méi)有長(zhǎng)度。
計(jì)算機(jī)是在跟你說(shuō):浮點(diǎn)數(shù)沒(méi)有l(wèi)en()函數(shù)。所以啊,整數(shù)和浮點(diǎn)數(shù)都不能使用len() 函數(shù)。
如何連接一個(gè)整數(shù)和字符串,再讓print()函數(shù)打印出來(lái)?(轉(zhuǎn)換數(shù)據(jù)類(lèi)型,即str()、int()和float()函數(shù))t =3
print('我談過(guò)'+t+'次戀愛(ài)。')
看倒數(shù)第三行,是line2有問(wèn)題;再看最后一行寫(xiě)著TypeError: must be str, not int 意思是——類(lèi)型錯(cuò)誤:必須是字符串,而不是整數(shù)。
也就是說(shuō),整數(shù)和字符串,用加號(hào)是拼接不起來(lái)的。a = input('隨便輸入一個(gè)數(shù)字')
b =1
print(a+b)
隨便輸入一個(gè)數(shù)字3后,終端報(bào)錯(cuò)了。
問(wèn)題出在line3,再看圖片中的最后一行,還是同樣的TypeError(類(lèi)型錯(cuò)誤)。因?yàn)閕nput() 函數(shù)接受的內(nèi)容都是字符串的數(shù)據(jù)類(lèi)型,雖然你輸入了一個(gè)數(shù)字,但放在變量a里面的,是字符串'3',整數(shù)和字符串無(wú)法相加,所以終端又會(huì)報(bào)錯(cuò)。
這兩段代碼,終端都報(bào)錯(cuò)了。而它們倆的錯(cuò)誤原因都是一樣的——不同的數(shù)據(jù)類(lèi)型,沒(méi)辦法拼接在一起。
這不同的數(shù)據(jù)類(lèi)型,怎么連在一起呢?就是轉(zhuǎn)換數(shù)據(jù)類(lèi)型,有3個(gè)函數(shù)可以實(shí)現(xiàn)這個(gè)功能,即str()、int()和float()函數(shù)。
想連接字符串和整數(shù),可以用str() 函數(shù)把t這一整數(shù)變?yōu)樽址?#xff0c;t =3
print('我談過(guò)'+str(t)+'次戀愛(ài)。')
終端
user1009@python-class:~/lesson/3-1/153$ python ~/lesson/3-1/153/main.py我談過(guò)3次戀愛(ài)。a = input('隨便輸入一個(gè)數(shù)字')
b =1
print(int(a)+b)
終端
user1009@python-class:~/lesson/3-1/158$ python ~/lesson/3-1/158/main.py隨便輸入一個(gè)數(shù)字1
2
圖片發(fā)自簡(jiǎn)書(shū)App
我一開(kāi)始還擔(dān)心學(xué)不會(huì),開(kāi)課之后發(fā)現(xiàn)一點(diǎn)都不難,非常適合入門(mén),寫(xiě)出第一行代碼的時(shí)候超級(jí)自豪。想捉住人工智能機(jī)遇的人推薦來(lái)報(bào)名!
課程最大的特點(diǎn)和優(yōu)點(diǎn),就是操作性強(qiáng),并且能知道自己錯(cuò)在哪里,較快的掌握枯燥的理論知識(shí),也是我最喜歡的地方。對(duì)于我這個(gè)小白來(lái)說(shuō),真心良心產(chǎn)品,點(diǎn)贊點(diǎn)贊!!!知識(shí)點(diǎn)回顧
數(shù)據(jù)類(lèi)型:1,計(jì)算機(jī)就是一個(gè)做數(shù)學(xué)運(yùn)算的機(jī)器,計(jì)算機(jī)程序的主要任務(wù)就是處理各種數(shù)值。可不僅僅只是數(shù)值,計(jì)算機(jī)還可以處理文本、音頻、視頻、圖像等數(shù)據(jù),2,簡(jiǎn)單的數(shù)據(jù)類(lèi)型有字符串、整數(shù)、浮點(diǎn)數(shù)。
單引號(hào)和雙引號(hào):是一種表達(dá)方式,不是字符串的一部分。單引號(hào)和雙引號(hào)的效果是一樣的。
字符串?dāng)?shù)據(jù)類(lèi)型:字符串的呈現(xiàn)方式一般是用單引號(hào)或者雙引號(hào)括起來(lái)的文本,比如 '長(zhǎng)安'。字符串的英文是string,計(jì)算機(jī)中一般簡(jiǎn)寫(xiě)為str。
字符串內(nèi)部包含了單引號(hào)【''】和雙引號(hào)【''】:利用【轉(zhuǎn)義字符\】來(lái)標(biāo)識(shí)。轉(zhuǎn)義字符【\】就是改變連接在它后面的字符本意,內(nèi)部的單引號(hào)【'】就不再具備標(biāo)記字符串的意思了,所以代碼運(yùn)行時(shí)自動(dòng)跳過(guò),去匹配后面的單引號(hào)。除此之外,還有一個(gè)辦法可以解決這個(gè)問(wèn)題,就是用雙引號(hào)來(lái)標(biāo)識(shí)字符串。用了雙引號(hào)作為標(biāo)識(shí)符,而內(nèi)部使用的是單引號(hào),Python就能區(qū)分開(kāi)來(lái),正常運(yùn)行了。還可以反過(guò)來(lái)干,比如說(shuō)外部用單引號(hào),然后內(nèi)部的文本含有雙引號(hào)。
轉(zhuǎn)義字符\【\】:不標(biāo)記連接在它后面的字符本意,代碼運(yùn)行時(shí)自動(dòng)跳過(guò)。
轉(zhuǎn)義字符【\n】:作用是換行。三行的短詩(shī),如果想要把每一句換行呈現(xiàn)的話。可以在每一句后面加【\n】。
整數(shù)數(shù)據(jù)類(lèi)型:整數(shù)跟普通的數(shù)字沒(méi)啥區(qū)別,Python可以處理任意大小的整數(shù),也包括負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫(xiě)法一模一樣。整數(shù)的英文是integer,簡(jiǎn)寫(xiě)為int。
浮點(diǎn)數(shù)數(shù)據(jù)類(lèi)型:1,凡是帶有小數(shù)點(diǎn)的數(shù)字,就都是浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的英文是float,沒(méi)有簡(jiǎn)寫(xiě)。2,整數(shù)運(yùn)算永遠(yuǎn)是精確的(除法難道也是精確的?是的!),而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差。
獲取數(shù)據(jù)類(lèi)型函數(shù)type():例如,終端顯示了,class代表類(lèi),而str代表字符串,所以這是一個(gè)字符串的類(lèi)。type()函數(shù)會(huì)在后期的爬蟲(chóng)學(xué)習(xí)中發(fā)揮很大的作用,先打牢基礎(chǔ)。
獲取數(shù)據(jù)長(zhǎng)度的函數(shù)len():例如,終端顯示了3,代表這個(gè)字符串的長(zhǎng)度為3。,整數(shù)和浮點(diǎn)數(shù)都不能使用len() 函數(shù)。字串符則可以。
數(shù)據(jù)類(lèi)型【彼此轉(zhuǎn)換】:整數(shù)和字符串,用加號(hào)是拼接不起來(lái)的。不同的數(shù)據(jù)類(lèi)型,沒(méi)辦法拼接在一起。要連在一起,就要轉(zhuǎn)換數(shù)據(jù)類(lèi)型。有3個(gè)函數(shù)可以實(shí)現(xiàn)這個(gè)功能,即str()、int()和float()函數(shù)。要想連接字符串和整數(shù),可以用str() 函數(shù)把t這一整數(shù)變?yōu)樽址?#xff0c;
總結(jié)
以上是生活随笔為你收集整理的python小_Python小课——学习笔记(3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GeneXus学习记录——环境搭建
- 下一篇: 可以用python实现一些小发明_【ki