版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章Python基本語法2.1引例2.2標識符與命名規(guī)則2.3變量與賦值2.4數據的輸入和輸出2.5數值2.6字符串2.7字符串格式化本章小結課后思考
2.1引
例
【例2-1】
計算矩形面積。通過用戶輸入獲取矩形的長度和寬度,然后計算并打印面積?!緟⒖即a】#2-1.py
length=float(input("請輸入矩形的長度:"))width=float(input("請輸入矩形的寬度:"))
area=length*widthprint("矩形的面積為:",area)
運行上述代碼,得到如下結果:
對于上述計算矩形面積的Python程序,我們可以通過以下詳細步驟來理解其編程邏輯。
步驟1:明確問題。
首先需要明確我們的目標:編寫一個程序來計算矩形的面積。矩形面積的計算公式是長度?×?寬度,這意味著需要從用戶端獲取這兩個數值。請輸入矩形的長度:3.2
請輸入矩形的寬度:4.5
矩形的面積為:14.4
步驟2:獲取用戶輸入。
使用input()函數接收用戶輸入。在Python中,input()函數會打印括號內的字符串作為提示,并等待用戶輸入。用戶輸入的值以字符串的形式返回。
由于矩形的長度和寬度是數值(可能是整數或浮點數),因此我們需要將字符串轉換為數值形式進行數學運算。這里使用了float()函數將字符串參數轉換為浮點數。
步驟3:計算面積。
在將用戶輸入的長度和寬度分別賦值給變量length和width之后,我們使用乘法運算(*)來計算面積,得到的面積值被賦值給變量area。
步驟4:顯示結果。
最后一步是向用戶展示計算結果。我們可以使用print()函數輸出字符串和變量值。通過將字符串“矩形的面積為:”和變量area一起傳遞給print()函數,我們能夠在終端或控制臺上打印出矩形面積的值。步驟5:測試和驗證。
在完成程序編寫后,運行幾次程序,可以使用不同的輸入值(包括整數和浮點數)來驗證程序是否正常工作。
上述過程展示了解決一個簡單編程問題的邏輯。通過明確問題、收集必要信息(通過用戶輸入)、處理這些信息(通過計算和轉換)、將處理后的信息(結果)反饋給用戶,我們可以逐步解決更復雜的問題。這個過程也強調了編程的基本要素:變量聲明與賦值、輸入/輸出操作、數據類型轉換、數學運算以及結果展示。通過理解這些基礎概念,在后面的學習中,我們可以編寫更復雜的程序來解決實際問題。
Python語言的一些基本書寫規(guī)則。
(1)雖然上述例子中沒有展示縮進,但是,在Python中,代碼縮進是非常重要的。Python使用縮進來表示代碼塊,不同于其他使用大括號的語言。標準的縮進為每級4個空格。縮進的一致性對于保持代碼的結構及可讀性非常關鍵。>>>numbers=[1,2,3,4,5,6,7,8,9] #定義一個數字列表>>>fornumberinnumbers: #遍歷列表中的每個數字ifnumber%2==0: #如果數字是偶數print(number) #輸出偶數
(2)從第一列開始,前面不能有任何空格,否則會產生語法錯誤。注意:注釋語句可以從任意位置開始;復合語句構造體必須縮進。在Python中,復合語句是指那些包含其他語句的語句,它們擴展了簡單語句的功能。復合語句通常用于控制程序的流程,進行數據的條件處理、循環(huán)處理等。
(3)在Python程序中,通常一行書寫一條語句,如果一行內有多條語句,語句之間要求使用分號分隔。如果一條語句過長,可以使用反斜線“\”來實現(xiàn)分行書寫功能。在?()、[]、{}?內的跨行語句,也被視為一行語句。例如:
>>>print("如果語句太長,可以使用反斜線“\”來實現(xiàn)\
分行書寫功能。")
>>>(3+
5)
(4)在Python程序中,添加注釋是非常必要的。注釋以“#”開始,對復雜的代碼塊和操作使用注釋,用來說明其功能或目的。單行注釋使用“#”,而多行注釋可以用三引號“'''”或“"""”包裹。
(5)在Python程序中,所有語法相關的符號,包括冒號“:”、單引號“'”、雙引號“"”以及小括號“()”等,都應當使用英文輸入法進行輸入,除非這些符號位于字符串之內。
2.2標識符與命名規(guī)則
2.2.1標識符在Python中,包、模塊、函數、類、變量等的名稱必須是有效的標識符。標識符在定義時,需遵循以下命名規(guī)則。
(1)標識符的第一個字符必須是字母(大寫或小寫)或下劃線(_)。(2)標識符的其余部分可以由字母、下劃線(_)或數字(0~9)組成。
(3)標識符在Python中是區(qū)分大小寫的。例如,variable、Variable和VARIABLE是三個不同的標識符。
(4)標識符不能是Python的保留關鍵字。Python的保留關鍵字是該語言保留的單詞,擁有專門的編程意義(如if、for、class等,見后文)。
(5)標識符應盡量具有描述性。例如,使用name或user_age比使用n或a更有意義。
(6)?Python3以后的版本支持Unicode字符作為標識符,但最好避免使用,特別是在代碼共享或國際化環(huán)境中。
2.2.2保留關鍵字
在Python中,關鍵字是一些預先保留的具有特殊語法意義的標識符。這些關鍵字定義了Python語言的規(guī)則和結構,不能用作變量名、函數名或任何其他標識符的名稱,否則會產生編譯錯誤。
每個關鍵字都有其特定的用途和意義,例如用于定義循環(huán)的for和while,用于條件判斷的if、elif和else,以及用于定義函數的def等。
Python3的關鍵字如表2-1所示。
在Python中,使用幫助系統(tǒng)可以查看系統(tǒng)關鍵字。Python提供了一個內置的幫助系統(tǒng),可通過幾種不同的方式訪問,幫助我們查詢關鍵字、函數、模塊等信息。下面是使用Python的幫助系統(tǒng)來查看系統(tǒng)關鍵字的具體步驟和示例。
(1)運行Python內置集成開發(fā)環(huán)境IDLE。
(2)進入幫助系統(tǒng)。當Python解釋器啟動后,輸入help()命令以進入Python的內置幫助系統(tǒng)。
(3)搜索關鍵字。在幫助模式中,輸入keywords命令來查看所有的Python關鍵字。
(4)獲取特定關鍵字的幫助信息。如果想要獲得特定關鍵字的詳細信息,可以直接查詢該關鍵字。例如,如果我們想了解def關鍵字的用法,可以在幫助系統(tǒng)的提示符后輸入def。
(5)退出幫助系統(tǒng)。查看完所需信息后,輸入quit命令退出幫助系統(tǒng)。
Python的內置幫助系統(tǒng)可以讓我們在開發(fā)過程中快速獲得所需的信息。
2.3變
量
與
賦
值
2.3.1變量
在Python中,變量是用來存儲數據值的標識符,它們指向內存中保存數據的位置。也就是說,所有變量都是用來標識對象或引用對象的。變量的命名必須遵循標識符命名規(guī)則,例2-1中的length、width和area均為變量。
1.創(chuàng)建變量
在Python中創(chuàng)建變量非常簡單,無需事先聲明變量的類型,只需要給變量賦值即可自動創(chuàng)建。例如:
這里,x是一個整型變量,y是一個字符串型變量,z是一個浮點型變量。
2.變量的特點
Python是一種動態(tài)類型語言,不需要在聲明變量時指定其數據類型。數據類型會在運行時根據賦予變量的值自動確定。這意味著變量的類型可以在運行時改變。例如,可以先將一個變量賦值為整數,然后再賦值為字符串。
上述代碼中,首先將x定義為一個整數,然后再將同一個x變量定義為一個字符串。Python允許變量類型的動態(tài)更改。
上述賦值語句的執(zhí)行過程是:首先在內存中尋找一個位置把等式右側的值存儲進去,然后創(chuàng)建變量并引用這個內存地址。也就是說,Python變量并不直接存儲值,而是存儲了值的內存地址或者引用,這也是變量類型隨時可以改變的原因。如果我們將一個變量賦值給另一個變量,兩個變量將引用同一塊內存中的數據。
需要注意的是,Python也是一種強類型語言,雖然變量的類型可以動態(tài)改變,但在特定的操作中,Python會根據變量的類型進行嚴格的類型檢查。例如,不能將字符串和整數直接相加。
2.3.2變量賦值
在Python中,變量的賦值操作是將一個值綁定到一個變量名上的過程。變量的賦值使用等號“=”來進行。等號左邊是變量名,右邊是要賦給變量的值。例如,創(chuàng)建一個名為a的變量,并給它賦值10,可以簡單地寫為:
這行代碼創(chuàng)建了一個整數類型(int)的變量a,并將其值設置為10。接下來,a可以用在任何需要整數值的地方,并且它的值可以被修改。
在Python中可以使用多種不同的方法來分配和修改變量的值。下面是一些基本的變量賦值。
1.簡單賦值
簡單賦值是最基礎的賦值方式,即將一個值賦給一個變量。其語法格式為:
2.鏈式賦值
鏈式賦值是一種同時將同一個值賦給多個變量的快捷方式。其語法格式為:
上述代碼使得a、b、和c三個變量都指向同一個整數對象100。
3.多重賦值
多重賦值允許在一個語句中為多個變量分別賦予不同的值,這種賦值方式在Python中非常有用,特別是當我們需要交換兩個變量的值,或者一次性初始化多個變量時。其語法格式為:
上述例子中,首先x賦值為1,y賦值為2并輸出,然后用語句“x,y?=?y,x”實現(xiàn)交換變量x和y的值。
2.4數據的輸入和輸出
2.4.1輸入函數input()
input()函數用于從標準輸入(即鍵盤)接收用戶的輸入。該函數可以接收一個字符串參數,該參數是在等待輸入時顯示的提示信息(也稱為提示符)。用戶輸入的內容在按下Enter鍵后被讀取并作為函數的返回值,以字符串的形式返回。如果需要將用戶輸入的內容轉換為其他類型,如整數或列表,需要配合使用類型轉換函數,例如int()、float(),或者通過其他方式轉換。input()函數使用方法如下:
【例2-5】
input()函數示例。
這個例子中,程序會打印出“請輸入你的姓名:”并等待用戶輸入。無論用戶輸入什么,input()函數都會讀取輸入并將其作為字符串返回給user變量。需要注意的是,input()函數語句只能得到字符串,如果希望得到數字,需添加eval()函數。
在Python中,eval()函數可以計算字符串表達式的值并返回結果。結合使用eval()和input()這兩個函數,可以方便地獲取并計算一個表達式的值。例如:>>>user=eval(input(3+4+5))。
【例2-6】使用eval()和input()函數實現(xiàn)簡單的計算器。#2-6.py#極簡計算器expr=input("請輸入一個數學表達式(例如:3+5*2):")result=eval(expr)print("計算結果為",result)
上述代碼的運行結果如下:
這個例子首先使用input()函數顯示提示信息并等待用戶輸入,用戶輸入的內容會被存儲到變量expr中,如果用戶輸入“3+5*2”,那么expr的值就是字符串“3+5*2”;接著使用eval()對用戶輸入的表達式字符串進行求值,eval()函數會解析字符串中的Python數學表達式并計算結果。請輸入一個數學表達式(例如:3+5*2):2+3+4計算結果為:9
2.4.2輸出函數print()
在Python3中,print()函數是最常用的內置函數之一,其主要用途是在控制臺輸出信息。該函數非常靈活,能夠輸出各種不同類型的數據,包括字符串、整數、浮點數、對象等。
print()函數的最基本用法是將傳遞給它的參數輸出到標準輸出(通常是屏幕)。如果傳入多個參數,它們將默認以空格分隔,例如:
print()函數具有幾個重要的可選參數,這些參數增強了其輸出能力。例如,sep參數定義用來分隔多個值的字符串,默認為一個空格。end參數定義輸出后添加的字符串,默認為換行符“\n”。例2-7和例2-8列舉了這些參數的具體使用方法。
【例2-7】print()函數示例。
【例2-8】print()中end參數的使用。
2.5數
值2.5.1數值類型Python中的數值類型主要包括整數、浮點數、復數和布爾值。1.整數
在Python中,整數類型用來表示沒有小數部分的數,包括正數、負數和零,使用int類型來表示。Python中的整數沒有固定的大小限制,這意味著,理論上,只要計算機內存足夠,就能處理任意大小的整數。Python不僅支持十進制數的表示方式,還支持二進制(以0b或0B開頭)、八進制(以0o或0O開頭)和十六進制(以0x或0X開頭)的表示方式。
【例2-9】
整數類型示例。
2.浮點數
浮點數是帶小數的數字。Python中的浮點數使用float類型來表示。在Python中,浮點數是使用雙精度(64位)來存儲的。這意味著它可以提供大約16位的十進制精度。具體來說,浮點數的存儲分為三個部分:符號位(用于表示正負)、指數位和尾數位(或稱為小數位)。該存儲方式允許float表示非常大和非常小的數,但這是有上下限的。當數值超過這個范圍時,會使用“inf”(無窮大)或“-inf”(負無窮大)來表示。
【例2-10】
浮點數類型示例。
3.復數
復數是表示實數和虛數部分的數。復數在Python中是用complex類型表示的。一個復數由兩部分組成:一個實部和一個虛部,通常可表示為a?+?bj。
在Python中,復數可以直接通過將一個實數和一個虛數加在一起創(chuàng)建,或者使用內置的complex(real,imag)函數創(chuàng)建。
【例2-11】復數類型示例。
一旦創(chuàng)建了復數,用戶可以使用?.real和?.imag屬性來訪問它的實部和虛部。例如:
4.布爾值
Python中的布爾(Boolean)類型是一種基礎數據類型,用于表示真值或假值。布爾類型有兩個值:True和False。需要注意的是,在Python中,True和False是關鍵字,并且是整數1和0的別名,因此它們也可以參與數值運算。
【例2-13】
布爾類型示例。
2.5.2數值類型的操作
Python提供了豐富的內置操作來處理數值類型的數據(例如整數、浮點數、復數)。
1.內置數值運算操作符
Python內置了一系列數值運算符,這些運算符允許執(zhí)行基本的數學運算,如加法、減法、乘法等,以及更復雜的操作,如冪運算等。表2-2是Python中常用的數值運算符的詳細描述和實例。
注意,“/”除法運算符總是返回一個浮點數,即使兩個操作數都是整數。如果想要得到整數結果(去掉小數部分),應該使用“//”運算符。
擴展的算術運算符(也稱為復合賦值運算符)提供了一種便捷的方式來修改變量的值,并且這種修改是基于原始值和某個操作的結果。這些運算符結合了基本的算術運算(如加法、減法、乘法等)和賦值操作,使得代碼更加簡潔、易讀。擴展的算術運算符如表2-3所示。
【例2-13】
數值運算操作符示例?!纠?-14】假設某國貨幣只有100元、20元、5元和1元四種面額。編寫一個程序,輸入一個整數金額(單位:元),計算兌換該金額所需的最少紙幣數量,并輸出每種面額的紙幣數量。要求優(yōu)先使用大面額紙幣。
【參考代碼】#貨幣兌換計算2-14.pyamount=eval(input("輸入金額:"))hundred=amount//100 #計算需要100元紙幣的數量remainder=amount%100 #計算剩余金額twenty=remainder//20remainder=remainder%20five=remainder//5one=remainder%5print("100元需要的張數:”,hundred)print("20元需要的張數:”,twenty)print("5元需要的張數:”,five)print("1元需要的張數:”,one)
運行結果為:
2.內置的數值運算函數
Python不僅提供了數值運算操作符,還內置了一些用于數學計算的函數。這些函數可以對數字進行處理,如求絕對值、四舍五入等操作。表2-4是Python中一些常用的內置數值運算函數的功能描述及示例。輸入金額:357100元需要的張數:320元需要的張數:25元需要的張數:31元需要的張數:2【例2-15】編寫一個程序,輸入三次考試的成績(浮點數),計算平均成績(四舍五入到小數點后1位),并找出最高分和最低分。
【參考代碼】#2-15.py#輸入三次考試成績score1=float(input("第一次考試成績:"))score2=float(input("第二次考試成績:"))score3=float(input("第三次考試成績:"))
#計算平均分(四舍五入到小數點后1位)average=round((score1+score2+score3)/3,1)
#計算最高分和最低分highest=max(score1,score2,score3)lowest=min(score1,score2,score3)
#輸出結果print("平均成績:",average)print(f"最高分:",highest)print(f"最低分:",lowest)
運行結果為:
注意,此例中float()為類型轉換函數,用于將一個字符串轉換為浮點數,本章第2.6.4小節(jié)會詳細講解。
2.5.3math庫的使用
1.導入math庫
在Python中,我們可以通過簡單的導入語句“importmath”來使用math模塊。例如:
還有一種寫法是:“frommathimport*”,或者,如果我們只需要使用特定的幾個函數,也可以選擇性地通過“frommathimport<函數名>”導入這些函數。例如:
>>>importmath>>>print(math.e)2.718281828459045
2.?math庫中主要數學函數和常量
表2-5和表2-6分別列出了math模塊中的常量和部分重要的數值函數,以及它們的簡單描述和數學形式。
>>>frommathimportsqrt,sin,cos>>>print(sqrt(4))2.0>>>print(math.sin(20))0.9129452507276277表2-6math庫中的常用的數值函數【例2-16】math庫的主要函數示例。
>>>importmath
#常量>>>print(math.pi) #圓周率π,輸出3.141592653589793>>>print(math.e) #自然對數的基數e,輸出2.718281828459045
#冪函數和對數函數>>>print(math.exp(1)) #輸出2.718281828459045>>>print(math.log(math.e)) #以e為底的對數,輸出1.0>>>print(math.pow(2,3)) #2的3次冪,輸出8.0>>>print(math.sqrt(4)) #4的平方根,輸出2.0
#三角函數>>>print(math.sin(math.pi/2)) #π/2的正弦,輸出1.0>>>print(math.cos(0)) #0的余弦,輸出1.0>>>print(math.tan(math.pi/4)) #π/4的正切,輸出0.9999999999999999#角度和弧度轉換>>>print(math.radians(180)) #180度到弧度,輸出3.141592653589793>>>print(math.degrees(math.pi)) #弧度到度,輸出180.0
#數值運算>>>print(math.ceil(2.1)) #向上取整,輸出3>>>print(math.floor(2.9)) #向下取整,輸出2>>>print(math.fabs(-5)) #絕對值,輸出5.0>>>print(math.factorial(5)) #階乘,輸出120【例2-17】計算三角形的面積。假設有一個三角形,已知其三邊長度分別為a、b和c,用海倫公式來計算這個三角形的面積。
【參考代碼】
程序運行后,可得如下結果:
【例2-18】編寫一個Python程序,求解一元二次方程的實數根?!緟⒖即a】
#2-18.pyimportmath
#獲取用戶輸入的系數a=float(input("請輸入二次項系數a:"))b=float(input("請輸入一次項系數b:"))c=float(input("請輸入常數項c:"))
#計算判別式discriminant=b**2-4*a*c#根據判別式的值求解方程ifdiscriminant>0:root1=(-b+math.sqrt(discriminant))/(2*a)root2=(-b-math.sqrt(discriminant))/(2*a)print("方程有兩個不同的實數根:")print("根1:",root1)print("根2:",root2)elifdiscriminant==0:root=-b/(2*a)print("方程有一個實數根:",root)else:print("方程沒有實數根。")
程序運行后,可得如下結果:
2.6字
符
串
2.6.1字符串類型
Python中的字符串(String)類型是一種用來處理文本的數據類型。在Python中,字符串是不可變的序列類型,這意味著一旦創(chuàng)建字符串,其內容就不可更改。字符串可以包含字母、數字、符號和空格,Python使用單引號、雙引號和三雙引號作為定界符來表示字符串,不同的定界符之間可以相互嵌套?!纠?-19】字符串類型示例。
2.6.2字符串的基本操作
(1)連接:使用“+”操作符可以連接兩個或多個字符串。例如:
(2)重復:使用“*”操作符可以重復字符串多次。例如:
(3)索引:字符串索引是訪問字符串中單個字符的方法。在Python中,字符串被視為字符序列,每個字符在序列中都有一個確定的位置,即索引。索引可以是正數,也可以是負數。使用正數索引時,計數從0開始;使用負數索引時,計數從?-1開始,表示字符串的最后一個字符。
【例2-20】字符串索引示例。
(4)切片:除了使用索引訪問單個字符外,還可以通過切片操作獲取子字符串,切片通過指定開始索引和結束索引的方式來實現(xiàn),語法為[開始索引:結束索引]。在切片操作中,返回的子字符串包含開始索引對應的字符,但不包含結束索引對應的字符。
【例2-21】字符串切片示例。
2.6.3字符串的內置方法
1.字符串查詢
字符串查詢的方法用來搜索或查詢字符串中特定內容存在與否,或者獲取特定內容的位置信息。
(1)?count():用來統(tǒng)計字符串中某個字符或子串出現(xiàn)的次數,如果不存在則返回0。例如:
(2)?find()和rfind():find()方法用來查找子字符串首次出現(xiàn)的位置(從左側開始查找),并返回子字符串開始的索引。如果找到了子字符串,則返回第一次出現(xiàn)的索引;如果沒有找到,則返回?-1。rfind()類似于find(),但是它是查找子字符串最后一次出現(xiàn)的位置。例如:
find()方法通常用于在處理文本數據時檢測字符串是否包含某個模式或子字符串,并可以找到該模式的精確位置。rfind()方法在處理文件路徑、日志文件等場景時特別有用,因為用戶經常需要找到最后一個特定字符(比如目錄分隔符)的位置。
(3)?index()和rindex():index()和rindex()方法與find()和rfind()非常相似,但是當指定的子字符串不在主字符串中時,index()和rindex()會拋出一個ValueError異常,而不是返回-1。例如:
2.字符串分割與合并
(1)?spilt()和rsplit():split()和rsplit()方法用于將字符串按照指定的分隔符,從原字符串的左端和右端開始進行分割,并返回一個字符串列表(列表內容后面章節(jié)將詳細介紹)。例如,以下代碼將字符串"hello,world"按照逗號進行分割。
split()方法還有一個可選參數maxsplit,用于指定分割的次數。例如,以下代碼將字符串"hello|world|python"按照豎線進行分割。
(2)?partition():partition()方法用于將字符串按照指定的分隔符進行分割,并返回一個包含分隔符的字符串列表。例如:
(3)?join():join()方法用于將列表中的字符串按照指定的分隔符進行連接,并返回一個新的字符串。例如,以下代碼將列表["hello","world"]按照冒號進行連接。
3.字符串轉換
4.字符串去除
(1)?strip():用于去除字符串兩側的空格或指定的字符(包括空格、換行符、制表符等)。如果不指定參數,默認去除空格。例如:
(2)lstrip()和rstrip():lstrip()用于去除字符串左端指定的字符;rstrip()用于去除字符串右端指定的字符。例如:
5.字符串替換
replace():用于在字符串中替換指定的子字符串。例如,以下代碼將字符串?"helloworld"中的?"world"?替換為?"python":
6.字符串判斷
(1)?startswith()和endswith():startswith()方法用于檢查字符串是否以指定的子字符串開始。endswith()方法用于檢查字符串是否以指定的子字符串結尾。例如:
7.字符串排版
(4)?zfill():返回指定長度的字符串,原字符串右對齊,前面填充0。例如:
2.6.4字符串的內置函數
Python的字符串類型除了擁有許多實用的內置方法之外,還可以通過一些內置函數進行操作和處理。這些函數提供了另一種方式來處理字符串,經常用于類型轉換、字符編碼等任務。下面列舉了一些常用的與字符串相關的內置函數并提供了示例。
(1)?len():返回字符串中的字符數。請注意,對于字符串而言,len()計算的是字符的數量。例如:
如果字符串中包含多字節(jié)字符(如許多Unicode字符),這些字符也會被計算為一個單元。例如:
在上述代碼中,盡管這個字符串包含的是中文字符,每個中文字符在某些編碼下(如UTF-8)可能占用多個字節(jié),但len()計數的是字符數,因此返回6,而不是字節(jié)的數量。
(2)?str():用于將一個對象轉換成字符串形式。例如:
(3)?hex()和oct():分別用于將整數轉換成其十六進制和八進制字符串表達形式,字符串以小寫形式顯示,且分別以0x和0o為前綴。例如:
注意:即使轉換為不同的表示(十六進制或八進制),其表示的數字的實際數值是不會變的。
(4)?ord()和chr():兩個互為逆操作的內置函數,用于字符與其ASCII碼或Unicode碼點之間的轉換。例如:
ord()通常用于獲取字符的數值表示,chr()則用于從數值表示回到字符表示。這兩個函數在需要對字符編碼進行操作時非常有用,如加密解密算法、字符數據處理等領域。通過它們,我們可以輕松地在字符及其數值表示之間進行轉換,處理各種文本數據。
【例2-22】
使用ord()和chr()進行簡單的字符加密和解密。
【參考代碼】
#2-22.py#加密char='A'offset=3encrypted_char=chr(ord(char)+offset)print(encrypted_char) #輸出:'D','A'加上偏移量3得到'D'
#解密decrypted_char=chr(ord(encrypted_char)-offset)print(decrypted_char) #輸出:'A',將'D'減去偏移量3得到回原始字符'A'運行結果如下:
注意:無論是數字還是文本,它們都被轉換成二進制(由0和1組成的)的形式進行存儲。具體來說,文本在計算機內部也是以相同的方式存儲的,即每個文本字符都對應一個數字值,整個文本字符串則以一系列數字(實際上是二進制序列)的形式在計算機內部存儲。只要編碼(字符到數字的映射)和解碼(數字回到字符的轉換)過程保持一致,具體使用哪個數字來代表特定的字符并不會影響信息的準確性。
(5)?int()、fl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河源員工膳食管理制度(3篇)
- 天梯樓梯施工方案(3篇)
- 2026山東青島平度市事業(yè)單位招聘36人參考考試題庫及答案解析
- 2026江西撫州市樂安縣屬建筑工程有限公司招聘2人(臨聘崗)筆試參考題庫及答案解析
- 2026年商洛市洛南縣婦幼保健院招聘(4人)參考考試題庫及答案解析
- 2026中國天津人力資源開發(fā)服務中心招聘參考考試題庫及答案解析
- 肝硬化患者營養(yǎng)支持的護理配合
- 2026甘肅隴南市宕昌縣有關單位招聘公益性崗位人員25人備考考試題庫及答案解析
- 2026江蘇蘇州大學科研助理崗位招聘7人筆試備考試題及答案解析
- 2026廈門象嶼集團有限公司冬季校園招聘備考考試題庫及答案解析
- 幼兒階段口才能力培養(yǎng)課程設計
- 職高一年級《數學》(基礎模塊)上冊試題題庫
- JG/T 367-2012建筑工程用切(擴)底機械錨栓及后切(擴)底鉆頭
- 國家職業(yè)標準 6-11-01-03 化工總控工S (2025年版)
- 公共安全視頻監(jiān)控建設聯(lián)網應用(雪亮工程)運維服務方案純方案
- 定額〔2025〕2號文-關于發(fā)布2020版電網技術改造及檢修工程概預算定額2024年下半年價格
- 安全生產標準化與安全文化建設的關系
- DB31-T 1502-2024 工貿行業(yè)有限空間作業(yè)安全管理規(guī)范
- DL-T5054-2016火力發(fā)電廠汽水管道設計規(guī)范
- 2022版義務教育(物理)課程標準(附課標解讀)
- 神經外科介入神經放射治療技術操作規(guī)范2023版
評論
0/150
提交評論