3.1數(shù)字類(lèi)型及操作
1.整數(shù)類(lèi)型
與數(shù)學(xué)中整數(shù)的概念一致可正可負(fù)暇榴,沒(méi)有取值范圍限制pow(x,y)函數(shù):計(jì)算X的y次方,想算多大算多大四種進(jìn)制表現(xiàn)形式
十進(jìn)制:1010宝踪,99,-217
二進(jìn)制:以0b或0B開(kāi)頭:0b010碍扔,-0B101
八進(jìn)制:以0o或0O開(kāi)頭:0o123瘩燥,-0O456十六進(jìn)制:以0x或0X開(kāi)頭:0x9a,-0X89
整數(shù)無(wú)限制
2.浮點(diǎn)類(lèi)型與數(shù)學(xué)中實(shí)數(shù)的概念一致帶有小數(shù)點(diǎn)及小數(shù)的數(shù)字浮點(diǎn)數(shù)取值范圍和小數(shù)精度都存在限制不同,但常規(guī)計(jì)算可忽略取值范圍數(shù)量級(jí)約-10的308次方至10的308次方厉膀,精度數(shù)量級(jí)10的負(fù)16次方溶耘。
注意:浮點(diǎn)數(shù)間運(yùn)算存在不確定尾數(shù),不是bug
>>>0.1+0.3
0.4
>>>0.1+0.2
0.3000000000000004
原因:計(jì)算機(jī)中十進(jìn)制小數(shù)0.1是由53位二進(jìn)制表示的小數(shù)部分服鹅,約10^(-16)
二進(jìn)制表示小數(shù)凳兵,可以無(wú)限接近,但不完全相同
修改:>>>0.1+0.2==0.3
False
>>>round(0.1+0.2,1)==0.3True
兩個(gè)等號(hào)在Python中是判斷的意思round(x企软,d):對(duì)x四舍五入留荔,d是小數(shù)截取位數(shù)浮點(diǎn)數(shù)間運(yùn)算及比較用round()
函數(shù)輔助不確定尾數(shù)一般發(fā)生在10^(-16)左右,round()十分有效浮點(diǎn)數(shù)可以采用科學(xué)計(jì)數(shù)法表示使用字母e或者E作為冪的符號(hào)澜倦,以10為基數(shù)聚蝶,格式如下:<a>e<b>? 表示a*10^(b)
3.復(fù)數(shù)類(lèi)型
定義j與數(shù)學(xué)中復(fù)數(shù)概念一致出現(xiàn)頻率較少
4.數(shù)字運(yùn)算操作符
x+y 加,x與y之和
x-y 減藻治,x與y之差
x*y 乘碘勉,x與y之積
x/y 除,x與y之商
x//y 整數(shù)除桩卵,x與y之整數(shù)商
10//3結(jié)果是3
+xx本身
-y y的負(fù)值x%y 余數(shù)验靡,模運(yùn)算 10%3結(jié)果是1
x**y 冪運(yùn)算,x的y次冪雏节,x^y
二元操作符有對(duì)應(yīng)的增強(qiáng)賦值操作符xop=y 即x=xopy胜嗓,其中,op為二元操作符類(lèi)型間可進(jìn)行混合運(yùn)算钩乍,生成結(jié)果為“最寬”類(lèi)型三種類(lèi)型存在一種逐漸“擴(kuò)展”或“變寬”的關(guān)系
整數(shù) ->浮點(diǎn)數(shù) ->復(fù)數(shù)數(shù)字運(yùn)算函數(shù)abs(x)絕對(duì)值辞州,x的絕對(duì)值divmod(x寥粹,y)商余变过,(x//y涝涤,x%y),同時(shí)輸出商和余數(shù)阔拳。
例:divmod(10崭孤,3)結(jié)果為(3,1)pow(x,y[,z])冪余辨宠,(x**y)%z,[..]表示參數(shù)z可省略。
例:pow(3彭羹,pow(3,99)泪酱,10000)結(jié)果為4587round(x[,d])四舍五入派殷,d是保留小數(shù)位數(shù)还最,默認(rèn)值為0max(X1,X2,,,,,Xn)最大值
mix(X1,X2,,,,Xn)最小值
一些以函數(shù)形式提供的數(shù)值運(yùn)算功能int(x)將x變成整數(shù)毡惜,舍棄小數(shù)部分float(x)將x變成浮點(diǎn)數(shù),增加小數(shù)部分complex(x)將x變成復(fù)數(shù)经伙,增加虛數(shù)部分3.2實(shí)例3:天天向上的力量
3.3字符串類(lèi)型及操作
由0個(gè)或多個(gè)字符組成的有序字符序列
字符串由一對(duì)單引號(hào)或一對(duì)雙引號(hào)表示
字符串是字符的有序序列,可以對(duì)其枣氧;中的字符進(jìn)行索引
字符串的序號(hào)
正向遞增序號(hào)和反向遞減序號(hào)
字符串切片高級(jí)用法
使用[M:N:K]
根據(jù)步長(zhǎng)對(duì)字符串切片<字符串>
[M:N],M缺失表示至開(kāi)頭垮刹,N缺失表示至結(jié)尾<字符串>[M:N:K],根據(jù)步長(zhǎng)K對(duì)字符串切片字符串的特殊字符轉(zhuǎn)義符\轉(zhuǎn)義符表示特定字符的本意轉(zhuǎn)義符形成一些組合达吞,表達(dá)一些不可打印的含義字符串的操作符由0個(gè)或多個(gè)字符組成的有序字符序列操作符及使用描述x+y連接兩個(gè)字符串x和ynx或xn復(fù)制n次字符串xx in s如果x是s的子串荒典,返回True,否則返回False獲取星期字符串#weekNamePrintV1.pyweekStr="星期一星期二星期三星期四星期五星期六星期日"weekId=eval(input("請(qǐng)輸入星期數(shù)字(1-7):")) pos=(weekId-1)*3print(weekStr[pos:pos+3])字符串處理函數(shù)函數(shù)及使用|描述len(x)|長(zhǎng)度覆糟,返回字符串的長(zhǎng)度str(x)|任意類(lèi)型x所對(duì)應(yīng)的字符串形式hex(x)或oct(x)|整數(shù)x的十六進(jìn)制或八進(jìn)制小寫(xiě)形式字符串Unicode編碼python字符串的編碼形式統(tǒng)一字符編碼遮咖,即覆蓋幾乎所有字符的編碼方式從0到1114111(0*10FFFF)的空間,每個(gè)編碼對(duì)應(yīng)一個(gè)字符python字符串中每個(gè)字符都是Unicode編碼字符12星座代表字符for i in range(12):? print(chr(9800+i),end="")字符串處理方法方法及使用描述str.lower或str.upper()返回字符串的副本踢械,全部字符小寫(xiě)/大寫(xiě)str.split(sep=None)返回一個(gè)列表魄藕,由str根據(jù)sep被分隔的部分組成str.count(sub)返回子串sub在str中出現(xiàn)的次數(shù)str.replace(old,new)返回字符串str副本撵术,所有old子串被替代為newstr.center(width[,fillchar])字符串str根據(jù)寬度width居中,fillchar可選str.strip(chars)從str中去掉在其左側(cè)和右側(cè)chars中列出的字符str.join(iter)在iter變量除最后元素外每個(gè)元素后增加一個(gè)str字符串類(lèi)型的格式化格式化是對(duì)字符串進(jìn)行格式表達(dá)的方式字符串格式化使用.format()方法寝姿,用法如下:<模板字符串>.format(<逗號(hào)分隔的參數(shù)>):? ? ? ? 引導(dǎo)符號(hào)<填充>? 用于填充的單個(gè)字符<對(duì)齊>? <左對(duì)齊 >右對(duì)齊 ^居中對(duì)齊<寬度>? 槽設(shè)定的輸出寬度<,>? ? 數(shù)字的千位分隔符<.精度>? 浮點(diǎn)數(shù)小數(shù)精度或字符串最大輸出長(zhǎng)度<類(lèi)型>? 整數(shù)類(lèi)型 浮點(diǎn)數(shù)類(lèi)型3.4time庫(kù)的使用time庫(kù)是python中處理時(shí)間的標(biāo)準(zhǔn)庫(kù)時(shí)間獲然獭:time() ctime() gmtime()時(shí)間格式化:strftime() strptime()程序計(jì)時(shí):sleep(),perf_counter()函數(shù)描述time()獲取當(dāng)前時(shí)間戳根资,即計(jì)算機(jī)內(nèi)部時(shí)間值,浮點(diǎn)數(shù)ctime()獲取當(dāng)前時(shí)間并以易讀方式表示玄帕,返回字符串gmtime()獲取當(dāng)前時(shí)間,表示為計(jì)算機(jī)可處理的時(shí)間格式時(shí)間格式化將時(shí)間以合理的方式展示出來(lái)格式化:類(lèi)似字符串格式化委刘,需要有展示模板展示模板由特定的格式化控制符組成strftime()方法函數(shù)描述strftime(tpl,ts)tpl是格式化模板字符串鹰椒,用來(lái)定義輸出效果。ts是計(jì)算機(jī)內(nèi)部時(shí)間類(lèi)型的變量strptime(str,tpl)str是字符串形式的時(shí)間格式化漆际。tpl是格式化模板字符串,用來(lái)定義輸入效果程序計(jì)時(shí)程序計(jì)時(shí)指測(cè)量起止動(dòng)作所經(jīng)歷事件的過(guò)程測(cè)量時(shí)間:perf_counter()產(chǎn)生時(shí)間:sleep()函數(shù)描述per_counter()返回一個(gè)CPU級(jí)別的精確時(shí)間計(jì)數(shù)值套蒂,單位為秒茫蛹。由于這個(gè)計(jì)數(shù)值起點(diǎn)不確定,連續(xù)調(diào)用差值才有意義sleeps擬休眠時(shí)間骨坑,單位是秒柬采,可以是浮點(diǎn)數(shù)
3.5文本計(jì)數(shù)條需求分析采用字符串方式打印可以動(dòng)態(tài)變化的文本進(jìn)度條進(jìn)度條需要能在一行中逐漸變化問(wèn)題分析采用sleep()模擬一個(gè)持續(xù)的進(jìn)度似乎不那么難“文本進(jìn)度條”簡(jiǎn)單開(kāi)始