計算機(jī)二級python學(xué)習(xí)教程(3) python語言基本數(shù)據(jù)類型
本文繼續(xù)計算機(jī)二級python教程的學(xué)習(xí),之前已經(jīng)學(xué)習(xí)過了計算機(jī)二級python學(xué)習(xí)教程(1) 、計算機(jī)二級python學(xué)習(xí)教程(2)
3.1 數(shù)字類型
數(shù)字類型:整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型。
整數(shù)類型:十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制。

#不同進(jìn)制的整數(shù)之間可以直接運算 >>> 0x3F2/1010 1.0 >>> (0x3F2+1010)/0o1762 2.0
浮點數(shù)類型:必須帶有小數(shù)部分,小數(shù)部分可以是0,例如1010.0。表示方法有一般表示(只有十進(jìn)制)和科學(xué)計數(shù)法。數(shù)值范圍和小數(shù)精度受不同計算機(jī)系統(tǒng)的限制,一般認(rèn)為沒有范圍限制。有不確定尾數(shù)。
#科學(xué)計數(shù)法 格式:<a>e<b> = a*10的b次方 (或E) >>> print(1.01e3) 1010.0 >>> print(-1.01E-3) -0.00101 #浮點數(shù)不確定尾數(shù) >>> 0.1 + 0.2 0.30000000000000004 >>> 0.1 + 0.2 == 0.3 False #使用round()函數(shù)四舍五入 限定保留尾數(shù) 去掉不確定尾數(shù) >>> round(0.1 + 0.2,3) == 0.3 True
復(fù)數(shù)類型:含有虛數(shù)單位(j)的數(shù)??梢钥醋魇嵌行?qū)崝?shù)對(a, b),表示為:a + bj,a是實數(shù)部分,簡稱實部,b是虛數(shù)部分,簡稱虛部。當(dāng)b為1時,1不能省略,1j表示復(fù)數(shù),j表示Python程序中的一個變量。
#獲得實數(shù)部分 >>> (1.23e4+5.64e4j).real 12300.0 #獲得虛數(shù)部分 >>> (1.23e4+5.64e4j).imag 56400.0 >>>
3.2 數(shù)字類型的運算
9個基本的數(shù)值運算操作符:

>>> 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ù)和浮點數(shù)運算結(jié)果為浮點數(shù),整數(shù)/整數(shù)結(jié)果為浮點數(shù),整數(shù)或浮點數(shù)與復(fù)數(shù)運算結(jié)果為復(fù)數(shù)。
增強(qiáng)賦值操作符:+=、-=、*=、/=、//=、%=、**=
>>> x=3 >>> x**=3 #等價于x = x**3 >>> print(x) 27
數(shù)值運算函數(shù):
#絕對值 >>> 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 (模運算與冪運算同時進(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 字符串類型及格式化
單行字符串可以由一對單引號(')或雙引號(")作為邊界來表示,單引號和雙引號作用相同。
多行字符串可以由一對三單引號(''')或三雙引號(""")作為邊界來表示,兩者作用相同。
>>> print('這是"單行字符串"')
這是"單行字符串"
>>> print("這是'單行字符串'")
這是'單行字符串'
>>>print("""這是'多行字符串'的第一行
這是'多行字符串'的第二行
""")
這是'多行字符串'的第一行
這是'多行字符串'的第二行
>>>print('''這是"多行字符串"的第一行
這是"多行字符串"的第二行
''')
這是"多行字符串"的第一行
這是"多行字符串"的第二行
語言轉(zhuǎn)義符: \ 。例如:\n表示換行、\\表示反斜杠、\'表示單引號、\"表示雙引號、\t表示制表符(TAB)等。
>>> print("既需要'單引號'又需要\"雙引號\"")
既需要'單引號'又需要"雙引號"
字符串的索引:
>>> "青青子衿,悠悠我心。"[-5] '悠' >>> s = "青青子衿,悠悠我心。" >>> s[5] '悠'
字符串的切片:
>>>"青青子衿,悠悠我心。"[8:4]
''
>>>"青青子衿,悠悠我心。"[:4]
'青青子衿'
>>>"青青子衿,悠悠我心。"[5:]
'悠悠我心。'
>>>print("青青子衿,悠悠我心。"[5:])
悠悠我心。
format()方法使用:"包含{ }的字符串模板".format(逗號分隔的參數(shù)1,2,3...) 參數(shù)從0開始編號,{ }代表槽
>>> "{}曰:學(xué)而時習(xí)之,不亦{}。".format("孔子","說乎")
'孔子曰:學(xué)而時習(xí)之,不亦說乎。
>>> "{1}曰:學(xué)而時習(xí)之,不亦{0}。".format("說乎","孔子")
'孔子曰:學(xué)而時習(xí)之,不亦說乎。'
format()方法中模板字符串的槽除了包括參數(shù)序號,還可以包括格式控制信息。{<參數(shù)序號>: <格式控制標(biāo)記>}

>>>s = "等級考試"
>>>"{:25}".format(s) #左對齊,默認(rèn)
'等級考試
'
>>>"{:^25}".format(s) #居中對齊
' 等級考試 '
>>>"{:>25}".format(s) #右對齊
' 等級考試'
>>>"{:*^25}".format(s) #居中對齊且填充*號
'**********等級考試***********'
>>>"{:+^25}".format(s) #居中對齊且填充+號
'++++++++++等級考試+++++++++++'
>>>"{:十^25}".format(s) #居中對齊且填充漢字“十”
'十十十十十十十十十十等級考試十十十十十十十十十十十'
>>>"{:^1}".format(s) #z指定寬度為1,不足變量s的寬度
'等級考試'
>>>"{:.2f}".format(12345.67890)
'12345.68'
>>>"{:>25.3f}".format(12345.67890)
' 12345.679'
>>>"{:.5}".format("全國計算機(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) # 對比輸出
'3.14e+00,3.14E+00,3.14,314.00%'
#常用的format()方法格式控制信息
>>>"{:.2f}".format(3.1415926) # 輸出小數(shù)點后兩位
'3.14'
>>>"{:x}".format(1010) # 輸出整數(shù)的十六機(jī)制形式
'3f2'
>>>"{:.5}".format("這是一個很長的字符串") # 輸出字符串的前5位
'這是一個很'
>>>"{:-^10}".format("PYTHON") # 居中并填充
'--PYTHON--'
3.4 字符串類型的操作
字符串操作符:
#連接兩個字符串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的長度
>>> len("lws")
3
#返回任意類型x所對應(yīng)的字符串形式
>>> str(0x3f)
'63'
#返回Unicode編碼x對應(yīng)的單字符
>>> chr(10000)
'✐'
#返回單字符x表示的Unicode編碼
>>> ord("和")
21644
#返回整數(shù)x對應(yīng)十六進(jìn)制數(shù)的小寫形式字符串
>>> hex(1010)
'0x3f2'
#返回整數(shù)x對應(yīng)八進(jìn)制數(shù)的小寫形式字符串
>>> oct(-255)
'-0o377'
字符串處理方法:采用<a>.func(x)形式調(diào)用。方法僅作用于前導(dǎo)對象<a>

#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是一個字符串。
>>>"Python is an excellent language.".count('a')
3
#str.replace(old, new)方法將字符串str中出現(xiàn)的old字符串替換為new字符串,old和new的長度可以不同。
>>>"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)方法返回長度為width的字符串,其中,str處于新字符串中心位置,兩側(cè)新增字符采用fillchar填充,當(dāng)width小于字符串長度時,返回str。其中,fillchar是單個字符。
>>>"Python".center(20, "=")
'=======Python======='
>>>"Python".center(2, "=")
'Python'
3.5 類型判斷和類型間轉(zhuǎn)換
Python語言提供type(x)函數(shù)對變量x進(jìn)行類型判斷,適用于任何數(shù)據(jù)類型。
n = eval(input('請輸入一個數(shù)字:'))
if type(n) == type(123):
print("輸入的數(shù)字是整數(shù)。")
elif type(n) == type(11.3):
print("輸入的數(shù)字是浮點數(shù)。")
else:
print("無法判斷輸入類型。")
通過內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)轉(zhuǎn)換:
#浮點數(shù)或字符串轉(zhuǎn)換為整數(shù) >>> int(10.01) 10 #整數(shù)或字符串轉(zhuǎn)換為浮點數(shù) >>> float(10) 10.0 #整數(shù)或浮點數(shù)轉(zhuǎn)換為字符串 >>> str(10.0) '10.0'
第三章結(jié)束
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TensorFlow卷積神經(jīng)網(wǎng)絡(luò)AlexNet實現(xiàn)示例詳解
這篇文章主要為大家介紹了TensorFlow卷積神經(jīng)網(wǎng)絡(luò)AlexNet實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Python中l(wèi)azy property的兩種方法小結(jié)
本文介紹了Python中實現(xiàn)延遲屬性lazyproperty的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Python中的Descriptor描述符學(xué)習(xí)教程
簡單來說,數(shù)據(jù)描述符是指實現(xiàn)了__get__、__set__、__del__方法的類屬性,等效于定義了三個方法的接口,下面就來詳細(xì)看一下Python中的Descriptor修飾符學(xué)習(xí)教程2016-06-06

