本文繼續(xù)計(jì)算機(jī)二級(jí)python教程的學(xué)習(xí),之前已經(jīng)學(xué)習(xí)過(guò)了計(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)為沒(méi)有范圍限制。有不確定尾數(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)(")作為邊界來(lái)表示,單引號(hào)和雙引號(hào)作用相同。
多行字符串可以由一對(duì)三單引號(hào)(''')或三雙引號(hào)(""")作為邊界來(lái)表示,兩者作用相同。
>>> print('這是"單行字符串"')
這是"單行字符串"
>>> print("這是'單行字符串'")
這是'單行字符串'
>>>print("""這是'多行字符串'的第一行
這是'多行字符串'的第二行
""")
這是'多行字符串'的第一行
這是'多行字符串'的第二行
>>>print('''這是"多行字符串"的第一行
這是"多行字符串"的第二行
''')
這是"多行字符串"的第一行
這是"多行字符串"的第二行
語(yǔ)言轉(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開(kāi)始編號(hào),{ }代表槽
>>> "{}曰:學(xué)而時(shí)習(xí)之,不亦{}。".format("孔子","說(shuō)乎")
'孔子曰:學(xué)而時(shí)習(xí)之,不亦說(shuō)乎。
>>> "{1}曰:學(xué)而時(shí)習(xí)之,不亦{0}。".format("說(shuō)乎","孔子")
'孔子曰:學(xué)而時(shí)習(xí)之,不亦說(shuō)乎。'
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" + "是世界上最好的語(yǔ)言"
'PHP是世界上最好的語(yǔ)言'
#復(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ù)的小寫(xiě)形式字符串
>>> hex(1010)
'0x3f2'
#返回整數(shù)x對(duì)應(yīng)八進(jìn)制數(shù)的小寫(xiě)形式字符串
>>> 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語(yǔ)言提供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("無(wú)法判斷輸入類型。")
通過(guò)內(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
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

