本文繼續(xù)計(jì)算機(jī)二級(jí)python教程的學(xué)習(xí),之前已經(jīng)學(xué)習(xí)過了計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程(1) 、計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程(2)
3.1 數(shù)字類型
數(shù)字類型:整數(shù)類型、浮點(diǎn)數(shù)類型、復(fù)數(shù)類型。
整數(shù)類型:十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制。
#不同進(jìn)制的整數(shù)之間可以直接運(yùn)算 >>> 0x3F2/1010 1.0 >>> (0x3F2+1010)/0o1762 2.0
浮點(diǎn)數(shù)類型:必須帶有小數(shù)部分,小數(shù)部分可以是0,例如1010.0。表示方法有一般表示(只有十進(jìn)制)和科學(xué)計(jì)數(shù)法。數(shù)值范圍和小數(shù)精度受不同計(jì)算機(jī)系統(tǒng)的限制,一般認(rèn)為沒有范圍限制。有不確定尾數(shù)。
復(fù)數(shù)類型:含有虛數(shù)單位(j)的數(shù)??梢钥醋魇嵌行?qū)崝?shù)對(duì)(a, b),表示為:a + bj,a是實(shí)數(shù)部分,簡(jiǎn)稱實(shí)部,b是虛數(shù)部分,簡(jiǎn)稱虛部。當(dāng)b為1時(shí),1不能省略,1j表示復(fù)數(shù),j表示Python程序中的一個(gè)變量。
#獲得實(shí)數(shù)部分 >>> (1.23e4+5.64e4j).real 12300.0 #獲得虛數(shù)部分 >>> (1.23e4+5.64e4j).imag 56400.0 >>>
3.2 數(shù)字類型的運(yùn)算
9個(gè)基本的數(shù)值運(yùn)算操作符:
>>> 2+5 7 >>> 2-5 -3 >>> 2*5 10 >>> 2/5 0.4 >>> 2//5 0 >>> 2%5 2 >>> 5%2 1 >>> -5 -5 >>> +5 5 >>> 2**5 32
?整數(shù)和浮點(diǎn)數(shù)運(yùn)算結(jié)果為浮點(diǎn)數(shù),整數(shù)/整數(shù)結(jié)果為浮點(diǎn)數(shù),整數(shù)或浮點(diǎn)數(shù)與復(fù)數(shù)運(yùn)算結(jié)果為復(fù)數(shù)。
增強(qiáng)賦值操作符:+=、-=、*=、/=、//=、%=、**=
>>> x=3 >>> x**=3 #等價(jià)于x = x**3 >>> print(x) 27
數(shù)值運(yùn)算函數(shù):
#絕對(duì)值 >>> abs(-666) 666 #返回二元組(x//y,x%y),即(整數(shù)商,除法余數(shù)) >>> divmod(10,3) (3, 1) #x的y次冪,即x**y >>> pow(3,3) 27 #x的y次冪%z (模運(yùn)算與冪運(yùn)算同時(shí)進(jìn)行 速度更快) >>> pow(55,1999999,10000) 4375 #四舍五入 >>> round(6.6) 7 #保留小數(shù)尾數(shù)四舍五入 >>> round(3.1415926,3) 3.142 #取最大值 >>> max(1,2,3,4,5,0.1) 5 #取最小值 >>> min(1,2,3,4,5,0.1) 0.1
3.3 字符串類型及格式化
單行字符串可以由一對(duì)單引號(hào)(')或雙引號(hào)(")作為邊界來表示,單引號(hào)和雙引號(hào)作用相同。
多行字符串可以由一對(duì)三單引號(hào)(''')或三雙引號(hào)(""")作為邊界來表示,兩者作用相同。
>>> print('這是"單行字符串"') 這是"單行字符串" >>> print("這是'單行字符串'") 這是'單行字符串' >>>print("""這是'多行字符串'的第一行 這是'多行字符串'的第二行 """) 這是'多行字符串'的第一行 這是'多行字符串'的第二行 >>>print('''這是"多行字符串"的第一行 這是"多行字符串"的第二行 ''') 這是"多行字符串"的第一行 這是"多行字符串"的第二行
語言轉(zhuǎn)義符: \ 。例如:\n表示換行、\\表示反斜杠、\'表示單引號(hào)、\"表示雙引號(hào)、\t表示制表符(TAB)等。
>>> print("既需要'單引號(hào)'又需要\"雙引號(hào)\"") 既需要'單引號(hào)'又需要"雙引號(hào)"
字符串的索引:
>>> "青青子衿,悠悠我心。"[-5] '悠' >>> s = "青青子衿,悠悠我心。" >>> s[5] '悠'
字符串的切片:
>>>"青青子衿,悠悠我心。"[8:4] '' >>>"青青子衿,悠悠我心。"[:4] '青青子衿' >>>"青青子衿,悠悠我心。"[5:] '悠悠我心。' >>>print("青青子衿,悠悠我心。"[5:]) 悠悠我心。
format()方法使用:"包含{ }的字符串模板".format(逗號(hào)分隔的參數(shù)1,2,3...)?? 參數(shù)從0開始編號(hào),{ }代表槽
>>> "{}曰:學(xué)而時(shí)習(xí)之,不亦{}。".format("孔子","說乎") '孔子曰:學(xué)而時(shí)習(xí)之,不亦說乎。 >>> "{1}曰:學(xué)而時(shí)習(xí)之,不亦{0}。".format("說乎","孔子") '孔子曰:學(xué)而時(shí)習(xí)之,不亦說乎。'
format()方法中模板字符串的槽除了包括參數(shù)序號(hào),還可以包括格式控制信息。{<參數(shù)序號(hào)>: <格式控制標(biāo)記>}??
>>>s = "等級(jí)考試" >>>"{:25}".format(s) #左對(duì)齊,默認(rèn) '等級(jí)考試 ' >>>"{:^25}".format(s) #居中對(duì)齊 ' 等級(jí)考試 ' >>>"{:>25}".format(s) #右對(duì)齊 ' 等級(jí)考試' >>>"{:*^25}".format(s) #居中對(duì)齊且填充*號(hào) '**********等級(jí)考試***********' >>>"{:+^25}".format(s) #居中對(duì)齊且填充+號(hào) '++++++++++等級(jí)考試+++++++++++' >>>"{:十^25}".format(s) #居中對(duì)齊且填充漢字“十” '十十十十十十十十十十等級(jí)考試十十十十十十十十十十十' >>>"{:^1}".format(s) #z指定寬度為1,不足變量s的寬度 '等級(jí)考試' >>>"{:.2f}".format(12345.67890) '12345.68' >>>"{:>25.3f}".format(12345.67890) ' 12345.679' >>>"{:.5}".format("全國(guó)計(jì)算機(jī)等級(jí)考試") '全國(guó)計(jì)算機(jī)' >>>"{:b},{:c},{:d},{:o},{:x},{:X}".format(425) '110101001,?,425,651,1a9,1A9' >>>"{:e},{:E},{:f},{:%}".format(3.14) '3.140000e+00,3.140000E+00,3.140000,314.000000%' >>>"{:.2e},{:.2E},{:.2f},{:.2%}".format(3.14) # 對(duì)比輸出 '3.14e+00,3.14E+00,3.14,314.00%' #常用的format()方法格式控制信息 >>>"{:.2f}".format(3.1415926) # 輸出小數(shù)點(diǎn)后兩位 '3.14' >>>"{:x}".format(1010) # 輸出整數(shù)的十六機(jī)制形式 '3f2' >>>"{:.5}".format("這是一個(gè)很長(zhǎng)的字符串") # 輸出字符串的前5位 '這是一個(gè)很' >>>"{:-^10}".format("PYTHON") # 居中并填充 '--PYTHON--'
?3.4 字符串類型的操作
字符串操作符:
#連接兩個(gè)字符串x與y >>> "PHP" + "是世界上最好的語言" 'PHP是世界上最好的語言' #復(fù)制n次字符串x >>> "lws"*3 'lwslwslws' #如果x是s的子串,返回True,否則返回False >>> name = "lws" >>> l in name >>> "l" in name True
字符串處理函數(shù):
#返回字符串x的長(zhǎng)度 >>> len("lws") 3 #返回任意類型x所對(duì)應(yīng)的字符串形式 >>> str(0x3f) '63' #返回Unicode編碼x對(duì)應(yīng)的單字符 >>> chr(10000) '?' #返回單字符x表示的Unicode編碼 >>> ord("和") 21644 #返回整數(shù)x對(duì)應(yīng)十六進(jìn)制數(shù)的小寫形式字符串 >>> hex(1010) '0x3f2' #返回整數(shù)x對(duì)應(yīng)八進(jìn)制數(shù)的小寫形式字符串 >>> oct(-255) '-0o377'
字符串處理方法:采用 .func(x)形式調(diào)用。方法僅作用于前導(dǎo)對(duì)象
#str.split(sep) 能夠根據(jù)sep分隔字符串str,分割后的內(nèi)容以列表類型返回。 >>> "Python is an excellent language.".split() ['Python', 'is', 'an', 'excellent', 'language.'] >>> "Python is an excellent language.".split('a') ['Python is ', 'n excellent l', 'ngu', 'ge.'] #str.count(sub)方法返回字符串str中出現(xiàn)sub的次數(shù),sub是一個(gè)字符串。 >>>"Python is an excellent language.".count('a') 3 #str.replace(old, new)方法將字符串str中出現(xiàn)的old字符串替換為new字符串,old和new的長(zhǎng)度可以不同。 >>>"Python is an excellent language.".replace('a', '#') 'Python is #n excellent l#ngu#ge.' >>>"Python is an excellent language.".replace('Python', 'C') 'C is an excellent language.' str.center(width, fillchar)方法返回長(zhǎng)度為width的字符串,其中,str處于新字符串中心位置,兩側(cè)新增字符采用fillchar填充,當(dāng)width小于字符串長(zhǎng)度時(shí),返回str。其中,fillchar是單個(gè)字符。 >>>"Python".center(20, "=") '=======Python=======' >>>"Python".center(2, "=") 'Python'
3.5 類型判斷和類型間轉(zhuǎn)換
Python語言提供type(x)函數(shù)對(duì)變量x進(jìn)行類型判斷,適用于任何數(shù)據(jù)類型。
n = eval(input('請(qǐng)輸入一個(gè)數(shù)字:')) if type(n) == type(123): print("輸入的數(shù)字是整數(shù)。") elif type(n) == type(11.3): print("輸入的數(shù)字是浮點(diǎn)數(shù)。") else: print("無法判斷輸入類型。")
通過內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)轉(zhuǎn)換:
#浮點(diǎn)數(shù)或字符串轉(zhuǎn)換為整數(shù) >>> int(10.01) 10 #整數(shù)或字符串轉(zhuǎn)換為浮點(diǎn)數(shù) >>> float(10) 10.0 #整數(shù)或浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 >>> str(10.0) '10.0'
第三章結(jié)束
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
