一、Python中的數(shù)字類型
在這一部分里漩仙,我們將學(xué)習(xí)Python中數(shù)字類型和如何使用數(shù)字類型额划。具體我我們將學(xué)到:
1)Python中數(shù)字類型的細(xì)分
2)基本的數(shù)學(xué)運(yùn)算
3)經(jīng)典除法和地板除法的區(qū)別
4)Python中的賦值
1.數(shù)字類型
Python有許多不同的數(shù)字類型細(xì)分,這里我們只學(xué)習(xí)整數(shù)(integer)和浮點(diǎn)數(shù)(float)數(shù)字類型乍赫。
整數(shù)通俗理解就是日常數(shù)學(xué)的整數(shù)温峭,又分為正整數(shù)和負(fù)整數(shù)猛铅。比如2和-2都是Python的整數(shù)類型。
Python中的浮點(diǎn)數(shù)很容易被識別凤藏,一般他們帶有小數(shù)點(diǎn)或者帶有“e”奸忽。比如2.0和-2.1就是浮點(diǎn)數(shù)。
4E2也是一個浮點(diǎn)數(shù)清笨。(4E2=4*10^2=400.0)月杉。
2.基本數(shù)學(xué)運(yùn)算
3. Python的賦值
一般我們使用一個等號做賦值。等號左邊是變量名稱抠艾,等號右邊是賦值內(nèi)容苛萎。讓我們看下面的例子。
以下為變量名命名規(guī)則:
1)變量名不能以數(shù)字開頭;
2)變量名中不能用空格腌歉,可以用"_"代替蛙酪,比如my_name才是正確的變量名命名方法;
3)在變量名中不能使用以下符號 :'",<>/?|\()!@#$%^&*~-+
4)根據(jù)PEP8,變量名最好小寫;
5) 變量名中盡量不出現(xiàn)小寫的字母l和字母O翘盖,因?yàn)槿菀缀蛿?shù)字1數(shù)字0混淆
6)避免用Python的關(guān)鍵字做變量名
通過type()查看數(shù)據(jù)類型
二桂塞、Python中的字符串類型
Python的字符串用于記錄文本信息。字符串實(shí)際是一串序列或者說Python按一定的次序記錄字符串的信息馍驯。比如阁危,對于“Hello”這個字符串,Python能識別出其為字符串以及它的特定順序汰瘫。這意味著我們可以通過下標(biāo)取抓取“Hello”內(nèi)部的字母狂打。這一點(diǎn)非常關(guān)鍵。
關(guān)于字符串部分混弥,我們將學(xué)習(xí):
1)創(chuàng)建字符串
2)打印字符串
3)字符串索引和切片
4)字符串不變性
5)字符串常用函數(shù)方法
6)格式化打印
1趴乡、創(chuàng)建字符串
通過單引號和雙引號創(chuàng)建字符串
2.打印字符串
使用jupyter notebook可以直接輸出字符串,但這并不是正確的打印字符串的方法蝗拿。正確的打印字符串的方法應(yīng)該是使用print()函數(shù)晾捏。
3.字符串索引和切片
前面提到字符串是有序序列,意味著Python可以下標(biāo)進(jìn)行索引哀托。
在Python中惦辛,我們用變量名[]進(jìn)行索引。[]里的數(shù)字又叫下標(biāo)仓手,Python的下標(biāo)是從0開始裙品,這個非常重要。下面我們通過例子來掌握俗或。
先創(chuàng)建字符串
開始索引和切片
請注意s[:3]指的是輸出0-2下標(biāo)的字符,并不包括3,所以是'hel'
4.字符串不變性
字符串有一個重要的屬性是不變性,也就是說字符串一旦創(chuàng)建,其內(nèi)部的元素不可以改變.我們通過例子來看.
雖然字符串內(nèi)部不可改變,但是外部卻可以進(jìn)行一些操作,比如拼接,比如做簡單數(shù)學(xué)運(yùn)算.見例子.
5.字符串常用函數(shù)方法
常用字符串函數(shù)方法包括字符串長度、將字符串全部變?yōu)榇髮懰晖⒆址孔優(yōu)樾懶廖俊⒆址每崭穹糸_。
6.格式化打印
字符串格式化可以讓你往字符串插入元素而不需要使用拼接的方法.用一個例子來進(jìn)行直觀的對比,兩種方法的差別在哪里?
player = ' thomas'
points = '33'
'last night, ' + player + 'scored ' + str(score) + 'points' #拼接的方法
f'last night, {player} scored {points} points.' #字符串格式化
6.1使用占位符進(jìn)行格式化打印
6.1.1 你可以使用%s往你的語句里插入字符串.%又稱作字符串格式化運(yùn)算符.
print("I am going to inject %s here." %'something')
占位符格式化打印
6.1.2通過%后接元組實(shí)現(xiàn)多個元素插入
print("I am going to print %s text here, and %s text here." %('some', 'more'))
6.1.3 甚至可以通過變量名稱來傳遞進(jìn)行格式化打印
x, y = 'some', 'more'
print("I am going to print %s text here, and %s text here." %(x, y))
6.1.3 %r %s %d的區(qū)別
%r會把字符串括住的引號也打印出來干像,%d和%s都可以格式化打印整數(shù)和浮點(diǎn)數(shù)帅腌,%d會自動將數(shù)字取整數(shù)部分(注意是取整而不是四舍五入)。
6.1.4 浮點(diǎn)數(shù)的格式化打印和精度問題
浮點(diǎn)數(shù)使用例如%5.2f來進(jìn)行格式化打印麻汰。這里面速客,小數(shù)點(diǎn)前面的數(shù)字表示輸出列數(shù)數(shù)字位數(shù)大于它時(shí),按實(shí)際位數(shù)輸出五鲫,小數(shù)點(diǎn)前空缺也是小數(shù)點(diǎn)后面的數(shù)字表示輸出的小數(shù)點(diǎn)位數(shù)溺职,如果位數(shù)不足就會四舍五入,如果位數(shù)不夠顯示就會在后面補(bǔ)0.
6.1.6混合格式化打印
print(‘First:%s, Second:%5.2f, Third: %r' %('hi!', 3.1415, 'bye!'))
6.2 通過.format()方法來進(jìn)行格式化打印
6.2.1 相比占位符格式化打印浪耘,.format()打印有以下優(yōu)勢乱灵。
6.2.1.1 插入的數(shù)據(jù)可以通過下標(biāo)來索引
print(’The {2}, {1}, {0}' .format('fox', 'brown', 'quick'))
索引格式化打印
6.2.1.2 插入的元素可以賦予關(guān)鍵字
print('First Object:{a}, Second Object:,Third Object:{c}'.format(a=1,b='two',c=12.3))
6.2.1.3 插入的元素可以重復(fù)使用七冲,避免多次輸入
6.2.2 .format()的對齊痛倚、填充和精度
通過{}你可以指定字段長度、指定對齊方式和指定取整精度
.format()默認(rèn)文字左對齊蝉稳,數(shù)字右對齊,你可以<,^, 或者> 來調(diào)整實(shí)現(xiàn)左對齊掘鄙、居中和右對齊耘戚。
在對齊處加上填充符號
.format() 的精度和占位符格式化打印處理方法一樣
6.3f-strings格式打印方法
python3.6引入了f-strings格式化打印方法,和.format()相比,f-strings方法可以直接將外部變量整個插入到字符串里.如果想獲得字符串外部的引號,可以使用!r.
f-strings使用"result: {value:{width}.{precision}}"來表示精度
請注意使用f-strings方法,精度指的是所有的數(shù)字個數(shù)而不是小數(shù)點(diǎn)后的數(shù)字個數(shù).這和科學(xué)計(jì)數(shù)以及統(tǒng)計(jì)分析類似.可惜的是,f-strings不會對齊向右自動填充.
可以通過結(jié)合f-strings和.format()的方法使數(shù)字對齊且向右填充
三通铲、Python中的列表類型
列表是Python中最應(yīng)該被稱為有序序列的概念.而且和前面的字符串不同,列表中的元素是可以改變的.這部分里我們將學(xué)到:
1)創(chuàng)建列表
2)列表索引和切片
3)基本函數(shù)方法
4)列表嵌套
5)列表解析
1.創(chuàng)建列表
列表用[]表示,[]里面的每一個元素用","隔開.
列表內(nèi)的元素可以裝不同的數(shù)據(jù)類型.
2.列表索引和切片
列表的索引和切片和字符串一樣.我們來看一些例子.
我們可以用+ 來拼接列表,就像字符串一樣.
請注意,拼接只是臨時(shí)并不會改變my_list.要采用重新賦值的方法才能永遠(yuǎn)改變my_list
我們可以同樣用*給列表做簡單運(yùn)算
3.基本函數(shù)方法
你可能會將Python中的列表和數(shù)組聯(lián)系起來,但是Python中的列表靈活很多,第一,它沒有大小限制,第二它也沒有類型限制.
創(chuàng)建一個新列表
使用append()在列表末尾添加新元素
使用pop()將列表末尾的元素刪除,同時(shí)pop關(guān)鍵字刪除也可以通過下標(biāo)索引指定刪除的元素
如果下標(biāo)對應(yīng)沒有響相應(yīng)的元素,程序會報(bào)錯
可以使用reverse()來將元素順序顛倒,可以使用sort()將元素按照字母順序排列
4.列表嵌套
Python一個很大的靈活性就是數(shù)據(jù)結(jié)構(gòu)支持嵌套,也就是說數(shù)據(jù)結(jié)構(gòu)里含數(shù)據(jù)結(jié)構(gòu).比如一個列表里面的元素是另一個列表.
我們可以用下標(biāo)抓取元素,不過現(xiàn)在因?yàn)榱斜砬短?元素有兩層結(jié)構(gòu),分別是矩陣?yán)锏脑?矩陣?yán)镌氐脑?
5.列表解析
列表解析可以迅速構(gòu)造列表,理解列表解析需要了解for loop循環(huán).我們使用列表解析來抓取矩陣中的第一行的每一個元素.
四毕莱、Python中的字典類型
字典是一種映射.和字符串以及列表通過元素位置不同定位不同,字典是無序的而是由不同的鍵-值對構(gòu)成.通過找到鍵就可以找到相應(yīng)的值.字典里的值可以是任何Python的類型,因此應(yīng)用起來非常的靈活.
在這部分里我們將學(xué)到:
1.) 創(chuàng)建字典
2.) 提取字典里的信息
3.) 字典嵌套
4.) 常用字典函數(shù)方法
1.創(chuàng)建字典
字典對于數(shù)據(jù)類型非常寬容,可以放置任何的數(shù)據(jù)類型颅夺。比如:
將字典內(nèi)部的值進(jìn)行簡單數(shù)學(xué)運(yùn)算
通過賦值來創(chuàng)建字典
2.字典嵌套
簡單理解,就是字典里面再包含字典,看下面的例子
字典嵌套
3.常用字典函數(shù)方法
五朋截、Python中的元組類型
元組和列表非常相似,不同的是元組是不能更改的,在表示不能更改的元素比如日期、時(shí)間等時(shí)使用元組吧黄。因?yàn)閷W(xué)過列表的相關(guān)知識部服,元組和列表的方法很相似。
1.創(chuàng)建元組
2.基本函數(shù)方法
元組也有一些內(nèi)置的函數(shù)方法拗慨,但是不如列表那么多廓八。
3.不可改變性
記住元組是不能改變的,一旦創(chuàng)建好的就只能保持原來的樣子赵抢,刪除元組元素或嘗試增加元組元素都會報(bào)錯剧蹂。
六.Python中的集合和布爾值類型
Python中的集合和布爾值類型并不是重點(diǎn),可以快速了解一下.
1.集合
set是一個無序且不重復(fù)的元素集合。
請注意雖然有{},但并不是字典,雖然你可以把集合比作只有鍵的字典.我們知道集合的元素是唯一的不重復(fù)的,那如果我們嘗試將重復(fù)的元素添加到集合里會是什么情況呢?
集合主要用于去重
2.布林值
所謂 布林值 ( Boolean Value ) 就是一種只有 true 或 false 兩種值的類型.
可以利用比較運(yùn)算符創(chuàng)建布林值