精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
《計算機二級Python語言程序設計考試》第3章:基本數據類型
考綱考點
數字類型:整數類型、浮點數類型和復數類型
數字類型的運算:數值運算操作符、數值運算函數
字符串類型及格式化:索引、切片、基本的format()格式化方法
字符串類型的操作:字符串操作符、處理函數和處理方法
類型判斷和類型間轉換
知識導圖
1、數字類型
數字類型
Python語言提供3種數字類型:整數類型、浮點數類型和復數類型,分別對應數學中的整數、實數和復數。
1010是一個整數類型,10.10是一個浮點數類型,10 + 10j是一個復數類型。
整數類型
與數學中的整數概念一致,沒有取值范圍限制
整數類型有4種進制表示:十進制、二進制、八進制和十六進制。默認情況,整數采用十進制,其他進制需要增加引導符號
示例
· 1010, -1010, 0b1010, 0o1010, 0x1010
進制種類引導符號描述
十進制無默認情況,例:1010,-1010
二進制0b或0B由字符0和1組成,例:0b1010,0B1010
八進制0o或0O由字符0到7組成,例:0o1010,0O1010
十六進制0x或0X由字符0到9、a到f或A到F組成,例:0x1010
不同進制的整數之間可以直接運算
浮點數類型
帶有小數點及小數的數字
Python語言中的浮點數類型必須帶有小數部分,小數部分可以是0。例如:1010是整數,1010.0是浮點數。
浮點數有2種表示方法:十進制形式的一般表示和科學計數法表示。除十進制外,浮點數沒有其他進制表示形式。
下面是浮點數類型的例子:
1010.0, -1010., 1.01e3, -1.01E-3
科學計數法使用字母e或者E作為冪的符號,以10為基數,含義如下:
<a>e<b> = a*10^b
上例中,1.01e3值為1010.0;-1.01E-3值為0.00101。
Python浮點數類型的數值范圍和小數精度受不同計算機系統的限制。除高精度科學計算外的絕大部分運算來說,浮點數類型的數值范圍和小數精度足夠“可靠”。
>>> 1234567890.987654321 * 1234567890.987654321
1.5241578774577044e+18
>>> 9876543210.123456789 / 1234567890.987654321
8.000000066600002
復數類型
復數類型表示數學中的復數。復數有一個基本單位元素j,叫作“虛數單位”。含有虛數單位的數被稱為復數。例如:
11.3+4j     -5.6+7j      1.23e-4+5.67e+89j
Python語言中,復數可以看作是二元有序實數對(a, b),表示為:a + bj,其中,a是實數部分,簡稱實部,b是虛數部分,簡稱虛部。虛數部分通過后綴“J”或者“j”來表示。需要注意,當b為1時,1不能省略,即 1j表示復數,而j則表示Python程序中的一個變量。
復數類型中實部和虛部都是浮點類型,對于復數z,可以用z.real和z.imag分別獲得它的實數部分和虛數部分
>>> (1.23e4+5.67e4j).real
12300.0
>>> (1.23e4+5.67e4j).imag
56700.0
>>> 1.23e4+5.67e4j.imag # 先獲得5.67e4j的虛部,再與1.23e4進行求和計算
69000.0
2、數字類型的運算
數值運算操作符
Python提供了9個基本的數值運算操作符
操作符描述
x + yx與y之和
x - yx與y之差
x * yx與y之積
x / yx與y之商
x // yx與y之整數商,即:不大于x與y之商的最大整數
x % yx與y之商的余數,也稱為模運算
-xx的負值,即:x * (-1)
+xx本身
x ** yx的y次冪,即:x^y
上標所有二元運算操作符(+、-、*、/、//、%、**)都可以與等號(=)相連,形成增強賦值操作符(+=、-=、*=、/=、//=、%=、**=)。用op表示這些二元運算操作符,增強賦值操作符的用法如下:
x op= y 等價于 x = x op y
>>> x = 99
>>> x **= 3 # 與x = x**3等價
>>> print(x)
970299
數值運算可能改變結果的數據類型,類型的改變與運算符有關,有如下基本規則:
整數和浮點數混合運算,輸出結果是浮點數;
整數之間運算,產生結果類型與操作符相關,/ 運算的結果是浮點數;
整數或浮點數與復數運算,輸出結果是復數。
>>> 1010 / 10 # / 運算的結果是浮點數
101.0
>>> 1010.0 // 3 # 浮點數與整數運算,產生結果是浮點數
336.0
>>> 1010.0 % 3 # 浮點數與整數運算,產生結果是浮點數
2.0
>>> 10 - 1 + 1j
(9+1j)
Python解釋器提供了一些內置函數,在這些內置函數之中,有6個函數與數值運算相關
函數描述
abs(x)x的絕對值
divmod(x, y)(x//y, x%y),輸出為二元組形式(也稱為元組類型)
pow(x, y[, z])(x**y)%z,[..]表示該參數可以省略,即:pow(x,y),它與x**y相同
round(x[, ndigits])對x四舍五入,保留ndigits位小數。round(x)返回四舍五入的整數值
max(x1,x2,...,xn)x1, x2, …, xn的最大值,n沒有限定
min(x1,x2,...,xn)x1, x2, …, xn的最小值,n沒有限定
3、字符串類型及格式化
字符串類型
字符串是字符的序列表示,根據字符串的內容多少分為單行字符串和多行字符串。
單行字符串可以由一對單引號(')或雙引號(")作為邊界來表示,單引號和雙引號作用相同。
多行字符串可以由一對三單引號(''')或三雙引號(""")作為邊界來表示,兩者作用相同。
>>> print('這是"單行字符串"')
這是"單行字符串"
>>> print("這是'單行字符串'")
這是'單行字符串'
>>> print("""這是'多行字符串'的第一行
這是'多行字符串'的第二行
""")
這是'多行字符串'的第一行
這是'多行字符串'的第二行
Python語言轉義符: \
例如:\n表示換行、\\表示反斜杠、\'表示單引號、\"表示雙引號、\t表示制表符(TAB)等。
>>> print("既需要'單引號'又需要\"雙引號\"")
既需要'單引號'又需要"雙引號"
字符串的索引
字符串是一個字符序列:字符串最左端位置標記為0,依次增加。對字符串中某個字符的檢索被稱為索引。索引的使用方式如下:
<字符串或字符串變量>[序號]
如果字符串長度為L,正向遞增需要以最左側字符序號為0,向右依次遞增,最右側字符序號為L-1;反向遞減序號以最右側字符序號為-1,向左依次遞減,最左側字符序號為-L。
字符串以Unicode編碼存儲,字符串的英文字符和中文字符都算作1個字符。
>>> "青青子衿,悠悠我心。"[-5]
'悠'
>>> s = "青青子衿,悠悠我心。"
>>> s[5]
'悠'
字符串的切片
對字符串中某個子串或區間的檢索被稱為切片。切片的使用方式如下:
<字符串或字符串變量>[N: M]    #包含N不包含M
>>> "青青子衿,悠悠我心。"[8:4]
''
>>> "青青子衿,悠悠我心。"[:4]
'青青子衿'
>>> "青青子衿,悠悠我心。"[5:]
'悠悠我心。'
>>> print("青青子衿,悠悠我心。"[5:])
悠悠我心。
format()方法的基本使用
字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗號分隔的參數>)
其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應format()方法中逗號分隔的參數。
>>> "{}曰:學而時習之,不亦說乎。".format("孔子")
'孔子曰:學而時習之,不亦說乎。'
如果模板字符串有多個槽,且槽內沒有指定序號,則按照槽出現的順序分別對應.format()方法中的不同參數。
>>> "{}曰:學而時習之,不亦{}。".format("孔子","說乎")
'孔子曰:學而時習之,不亦說乎。'
可以通過format()參數的序號在模板字符串槽中指定參數的使用,參數從0開始編號
>>> "{1}曰:學而時習之,不亦{0}。".format("說乎","孔子")
'孔子曰:學而時習之,不亦說乎。'
>>> "{1}曰:{{學而時習之,不亦{0}}}。".format("說乎","孔子")
'孔子曰:{學而時習之,不亦說乎}。'
format()方法的格式控制
format()方法中模板字符串的槽除了包括參數序號,還可以包括格式控制信息。
{<參數序號>: <格式控制標記>}
其中,格式控制標記用來控制參數顯示時的格式 。格式控制標記包括:<填充><對齊><寬度>,<.精度><類型>6個字段,這些字段都是可選的,可以組合使用
:   <填充>   <對齊>     <寬度>              ,           <.精度>      <類型>
引導符號用于填充的單個字符
<   左對齊
>   右對齊
^   居中對齊
槽的設定輸出寬度數字的千位分隔符,適用于整數和浮點數浮點數小數部分的精度或字符串的最大輸出長度
整數類型
b, c, d, o, x, X
浮點數類型
e, E, f, %
<填充>、<對齊>和<寬度>主要用于對顯示格式的規范。
寬度指當前槽的設定輸出字符寬度,如果該槽參數實際值比寬度設定值大,則使用參數實際長度。如果該值的實際位數小于指定寬度,則按照對齊指定方式在寬度內對齊,默認以空格字符補充。
對齊字段分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。
填充字段可以修改默認填充字符,填充字符只能有一個。
>>>s = "等級考試"
>>>"{:25}".format(s) #左對齊,默認
'等級考試 '
>>>"{:^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("全國計算機等級考試")
'全國計算機'
<類型>表示輸出整數和浮點數類型的格式規則。
n 對于整數類型,輸出格式包括6種:
· b: 輸出整數的二進制方式;
· c: 輸出整數對應的Unicode字符;
· d: 輸出整數的十進制方式;
· o: 輸出整數的八進制方式;
· x: 輸出整數的小寫十六進制方式;
· X: 輸出整數的大寫十六進制方式;
>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,?,425,651,1a9,1A9'
對于浮點數類型,輸出格式包括4種:
· e: 輸出浮點數對應的小寫字母e的指數形式;
· E: 輸出浮點數對應的大寫字母E的指數形式;
· f: 輸出浮點數的標準浮點形式;
· %: 輸出浮點數的百分形式。
>>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
>>>"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) # 對比輸出
'3.14e+00,3.14E+00,3.14,314.00%'
常用的format()方法格式控制信息
>>>"{:.2f}".format(3.1415926) # 輸出小數點后兩位
'3.14'
>>>"{:x}".format(1010) # 輸出整數的十六機制形式
'3f2'
>>>"{:.5}".format("這是一個很長的字符串") # 輸出字符串的前5位
'這是一個很'
>>>"{:-^10}".format("PYTHON") # 居中并填充
'--PYTHON--'
4、字符串類型的操作
字符串操作符
針對字符串,Python語言提供了幾個基本操作符
操作符描述
x + y連接兩個字符串x與y
x * n 或 n * x 復制n次字符串x
x in s如果x是s的子串,返回True,否則返回False
>>>name = "Python語言" + "程序設計"
>>>name
'Python語言程序設計'
>>>"等級考試!" * 3
'等級考試!等級考試!等級考試!'
>>>"語言" in name
True
>>>'Y' in name
False
字符串處理函數
Python語言提供了一些對字符串處理的內置函數
函數描述
len(x)返回字符串x的長度,也可返回其他組合數據類型的元素個數
str(x)返回任意類型x所對應的字符串形式
chr(x)返回Unicode編碼x對應的單字符
ord(x)返回單字符x表示的Unicode編碼
hex(x)返回整數x對應十六進制數的小寫形式字符串
oct(x)返回整數x對應八進制數的小寫形式字符串
>>>len("全國計算機等級考試Python語言科目")
19
>>>chr(10000)
'?‘
>>>hex(1010)
'0x3f2'
字符串處理方法
方法也是一個函數,只是調用方式不同。函數采用func(x)方式調用,而方法則采用<a>.func(x)形式調用。方法僅作用于前導對象<a>。
方法描述
str.lower()返回字符串str的副本,全部字符小寫
str.upper()返回字符串str的副本,全部字符大寫
str.split(sep=None)返回一個列表,由str根據sep被分割的部分構成
str.count(sub)返回sub子串出現的次數
str.replace(old, new)返回字符串str的副本,所有old子串被替換為new
str.center(width, fillchar)字符串居中函數,fillchar參數可選
str.strip(chars)從字符串str中去掉在其左側和右側chars中列出的字符
str.join(iter)將iter變量的每一個元素后增加一個str字符串
str.split(sep) 能夠根據sep分隔字符串str,分割后的內容以列表類型返回。
>>>"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.']
>>>"Python is an excellent language.".split('an')
['Python is ', ' excellent l', 'guage.']
str.count(sub)方法返回字符串str中出現sub的次數,sub是一個字符串。
>>>"Python is an excellent language.".count('a')
3
str.replace(old, new)方法將字符串str中出現的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處于新字符串中心位置,兩側新增字符采用fillchar填充,當width小于字符串長度時,返回str。其中,fillchar是單個字符。
>>>"Python".center(20, "=")
'=======Python======='
>>>"Python".center(2, "=")
'Python'
str.strip(chars)從字符串str中去掉在其左側和右側chars中列出的字符。chars是一個字符串,其中出現的每個字符都會被去掉。
>>>" ==Python== ".strip(' ')
'==Python=='
>>>" ==Python== ".strip(' =')
'Python'
>>>" ==Python== ".strip(' =n')
'Pytho'
str.join(iter)中iter是一個具備迭代性質的變量,該方法將str字符串插入iter變量的元素之間,形成新的字符串。
>>>" ".join('PYTHON')
'P Y T H O N'
>>>",".join('12345')
'1,2,3,4,5'
>>>",".join(['1', '2', '3', '4', '5'])
'1,2,3,4,5'
5、類型判斷和類型間轉換
數字類型的轉換
Python語言提供type(x)函數對變量x進行類型判斷,適用于任何數據類型。
n = eval(input('請輸入一個數字:'))
if type(n) == type(123):
print("輸入的數字是整數。")
elif type(n) == type(11.3):
print("輸入的數字是浮點數。")
else:
print("無法判斷輸入類型。")
數值運算操作符可以隱式地轉換輸出結果的數字類型,例如,兩個整數采用運算符“/”的除法將可能輸出浮點數結果。
此外,通過內置的數字類型轉換函數可以顯式地在數字類型之間進行轉換
函數描述
int(x)將x轉換為整數,x可以是浮點數或字符串
float(x)將x轉換為浮點數,x可以是整數或字符串
str(x)將x轉換為字符串,x可以是整數或浮點數
6、實例解析:愷撒密碼
愷撒撒密碼是古羅馬愷撒大帝用來對軍事情報進行加密的算法,它采用了替換方法對信息中的每一個英文字符循環替換為字母表序列該字符后面第三個字符:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
原文字符P,其密文字符C滿足如下條件:
C = ( P + 3 ) mod 26
解密方法反之,滿足:
P = ( C – 3 ) mod 26
愷撒密碼-加密
愷撒密碼的加密算法程序首先接收用戶輸入的文本,然后對字母a-z和字母A-Z按照密碼算法進行轉換
# CaesarEncode.py
ptxt = input("請輸入明文文本: ")
for p in ptxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")+3)%26), end='')
elif "A" <= p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")+3)%26), end='')
else:
print(p, end='')
>>>
請輸入明文文本: This is an excellent Python book.
Wklv lv dq hafhoohqw Sbwkrq errn.
愷撒密碼-解密
愷撒密碼的解密算法程序首先接收用戶輸入的加密文本,然后對字母a-z和字 母A-Z按照密 碼算法進行反向轉換
# CaesarDecode.py
etxt = input("請輸入加密后文本: ")
for p in etxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")-3)%26), end='')
elif "A" <= p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")-3)%26), end='')
else:
print(p, end='')
>>>
請輸入加密后文本: Wklv lv dq hafhoohqw Sbwkrq errn.
This is an excellent Python book.
本章小結
本章具體講解了計算機中常用的數字類型及操作,包括Python數值運算操作符和數值運算函數。進一步講解了字符串類型及格式化、字符串操作符、字符串處理函數和字符串處理方法等。最后,本章還介紹了類型判斷和類型轉換的基本方法,通過對愷撒密碼及其變種若干實例的講解幫助讀者加深對數據類型操作的理解。
有沒有一個人,你想給TA傳個小紙條?用愷撒密碼一展身手吧。
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python基礎篇(二)
手把手教你學Python之基本數據類型
Python小課——學習筆記(3)
從零開始學Python—第三課:Python語言元素之變量
從C#到Python
基礎語法第2關筆記
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 公主岭市| 辉县市| 芜湖市| 临高县| 安泽县| 陵川县| 临汾市| 右玉县| 依安县| 包头市| 青铜峡市| 新巴尔虎左旗| 巴中市| 永兴县| 分宜县| 长白| 平塘县| 铅山县| 新巴尔虎右旗| 炉霍县| 邹平县| 承德市| 贞丰县| 江阴市| 贡嘎县| 五河县| 罗田县| 满城县| 常德市| 买车| 凌海市| 东平县| 贺兰县| 宣城市| 德昌县| 阿拉善左旗| 柳林县| 灌南县| 丹巴县| 绵竹市| 临西县|