1. 程式人生 > 實用技巧 >軟體測試培訓-Python的資料型別和字串

軟體測試培訓-Python的資料型別和字串

資料型別是構成程式語言語法的基礎。不同的程式語言有不同的資料型別,但都具有常用的幾種資料型別。Python有幾種內建的資料型別——數字、字串、元組、列表和字典。本文將重點介紹數字和字串。
  軟體測試培訓

1.資料型別
  Python的資料型別分為整數,浮點數,布林值,小數和複數型別。使用Python編寫程式時,無需宣告變數的型別。變數由Python內建的基本資料型別管理,並且在程式的後臺實現諸如值與型別的關聯以及型別轉換之類的操作。
  Python與其他高階語言定義變數的方式及內部原理有很大的不同。在C或Java中,定義一個整型的變數,可以採用如下方式表示:
  inti=1;
  在Python中,定義整型變數的表達方式更簡練。

  i=1
  Python根據變數的值自動判斷變數的型別。程式設計師無需關心變數是什麼型別。只要將變數儲存在一個數字中,以後的工作就只會在此數值上進行操作,Python將處理數字的生命週期。
  更重要的一點是C或Java只是建立了一個int型別的普通變數。Python建立了整數物件,而Python自動完成了整數物件的建立,不再需要通過建構函式建立。Python中沒有普通型別,任何型別都是物件。如果C或Java需要修改變數i的值,則只需重新分配它即可;Python無法修改物件i的值。例如:
  1#下面的兩個i並不是同一個物件
  2i=1
  3print(id(i))
  4i=2
  5print(id(i))
  如果需要檢視變數的型別,則可以使用Python定義的型別類。type是__builtin__模組的類,它可以返回變數的型別或建立新的型別。builtin__模組是Python的內聯模組。內聯模組不需要import語句,並且由Python直譯器自動匯入。稍後,我們將介紹內聯模組的更多類和功能。
  下面這段程式碼返回了各種變數的型別。
  1#整型
  2i=1
  3print(type(i))
  4#長整型
  5l=999999999999999999990#Python何時將int轉為float跟作業系統位數相關
  6printtype(l)
  7#浮點型
  8f=1.2
  9print(type(f))
  10#布林型
  11b=True
  12print(type(b))
  第3行程式碼輸出結果:<class’int’>
  第6行程式碼輸出結果:<class’int’>
  第9行程式碼輸出結果:<class’float’>
  第12行程式碼輸出結果:<class’bool’>
  用Python來進行科學計算也很方便,因為Python內建了複數型別。Java、C#等高階語言則沒有提供複數型別。
  1#複數型別
  2c=7+8j
  3print(type©)
  第3行程式碼輸出結果:<class’complex’>
  注意:複數型別的寫法與數學中的寫法相同,如果寫為c=7+8i,Python不能識別其中的“i”,將提示語法錯誤。
  字串
  有3種方法可以用Python表示字串:單引號,雙引號,三引號。單引號和雙引號具有相同的作用。不同的程式設計師可以根據自己的習慣使用單引號或雙引號。PHP程式設計師可能更習慣於使用單引號來表示字串,而C和Java程式設計師習慣於使用雙引號來表示字串。在下面的程式碼中,單引號和雙引號的使用是等效的。
  1#單引號和雙引號的使用是等價的
  2str=“helloworld!”#定義字串變數str並賦值
  3print(str)
  4str=‘helloworld!’
  5print(str)
  第3行程式碼輸出結果:
  helloworld!
  第5行程式碼輸出結果:
  helloworld!
  三引號的用法是Python特別的語法,三引號中可以輸入單引號、雙引號或換行等字元。
  1#三引號的用法
  2str=’’‘hesay"helloworld!"’’’
  3print(str)
  第3行程式碼的三引號中帶有雙引號,雙引號也會被輸出。輸出結果:
  hesay"helloworld!"
  三引號的另一種用法是製作文件字串。Python的每個物件都有一個屬性__doc
,這個屬性用於描述該物件的作用。
  1#三引號製作doc文件
  2classHello:
  3’’‘helloclass’’’
  4defprintHello():
  5’’‘printhelloworld’’’
  6print(“helloworld!”)
  7print(Hello.doc)
  8print(Hello.printHello.doc)
  第2行程式碼定義了一個名為Hello的類。
  第3行是對Hello類的描述,該字串將被存放在類的__doc__屬性中。
  第4行程式碼定義了一個方法printHello()。
  第5行程式碼描述了printHello(),並把字串存放在該函式的__doc__屬性中。
  第6行程式碼輸出結果:
  helloworld!
  第7行程式碼輸出Hello的__doc__屬性的內容。輸出結果:
  helloclass
  第8行程式碼輸出printHello()的__doc__屬性的內容。輸出結果:
  printhelloworld
  如果要輸出含有特殊字元(單引號、雙引號等)的字串,需要使用轉義字元。Python中轉義字元為“\”,和C、Java中的轉義字元相同。轉義操作只要在特殊字元的前面加上“\”即可。下面這段程式碼說明了特殊字元的轉義用法。
  1#轉義字元
  2str=‘hesay:‘helloworld!’’
  3print(str)
  第2行程式碼中的單引號是特殊字元,需要在“’”前加上轉義字元。第3行程式碼的輸出結果:
  hesay:‘helloworld!’
  使用雙引號或三引號可以直接輸出含有特殊字元的字串,不需要使用轉義字元。
  1#直接輸出特殊字元
  2str=“hesay:‘helloworld!’”
  3print(str)
  4str=’’‘hesay:‘helloworld!’’’’
  5print(str)
  第2行程式碼中使用了雙引號表示字串變數str,因此Python能夠識別出雙引號內部的單引號只是作為輸出的字元。
  第3行程式碼的輸出結果:
  hesay:‘helloworld!’
  第4行程式碼使用三引號表示字串變數str,注意最後一個單引號後面留有一個空格,這個空格是為了讓Python識別出三引號留下的。如果不留下這個空格,4個單引號連在一起,Python直譯器不能正確識別三引號。提示如下錯誤:
  SyntaxError:EOLwhilescanningsingle-quotedstring
  第5行程式碼的輸出結果:
  hesay:‘helloworld!’
  注意:輸出的字串中含有單引號,使用雙引號表示字串即可。相反,輸出的字串中含有雙引號時,可使用單引號表示字串。
  相關推薦:python自動化測試培訓-Python自動化之程式碼覆蓋
  如果你想了解更多關於軟體測試的專業知識,可以加入python自動化測試交流群3:737683259,裡面都是同行,有資源分享。歡迎一到五年的工程師加入,合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!