- Python編程基礎與數據分析
- 王娟 華東 羅建平
- 13字
- 2020-09-11 16:42:29
第2章
基本數據類型及運算符
2.1 數據類型
在計算機內部它只認識0和1,而程序如何來區分放在內存中的0和1是什么呢?它們是數值還是字符呢?這就與數據類型分不開了。在Python中最常用的數據類型包括數值類型、邏輯類型、字符串類型等。本小節主要介紹數值類型和邏輯類型,字符類型在第3章中介紹。
2.1.1 數值類型
在Python語言中提供了三種數值類型:整數、浮點數(有小數部分)和復數,分別與數學中的整數、實數與復數對應。
1.整數
整數類型與數學中的整數類型一致。如:5,-8,101,-0x69,0o71。其中的-0x69,0o71為十六進制與八進制數。從Python 3.0之后的版本開始,對Python的整數范圍不再限制,理論上整數的取值范圍可以是[-∞,∞],但現實中會受計算機內存大小的限制。一般認為除極大數的運算外,Python整數類型沒有取值范圍限制。如:
>>> 2**100 1267650600228229401496703205376 >>> 2**500 327339060789614187001318969682759915221664204604306478948329136809613379 6404674554883270092325904157150886684127560071009217256545885393053328527589 376
這一點非常有用,在其他很多的編程語言中,常常將整數類型還要細分為short、int、long,這對初學值來說,初始編程就需要對程序中數據的使用范圍了如指掌,實在是挺困難的事。
整數類型中除十進制數外,二進制、八進制、十六進制數都可使用,除十進制數外,其他進制數需要用引導符引入。二進制數用0b或0B開頭,后面接數字0~1,八進制數用0o或0O開頭,后面接數字0~7,十六進制數用0x或0X開頭,后面接數字0~9或A~F。如:
>>> 0o71 57 >>> 0xA1 161
2.浮點數
浮點數與數學中的實數概念一致。如5.0,-2.3,3.1415,7.5e3,-4.5e-3。Python規定所有的浮點數必須帶有小數部分,小數部分可以為0,這種方式主要為了區別浮點數與整數。浮點數既可以用十進制數表示,還可以用科學計數法表示。
科學計數法表示數時用e或E作為冪的符號,如7.5e3或7.5E3,對應的十進制數大小為7.5*103。當指數為正數時,也可以表示為7.5e+3的形式。當指數為負數時,則只能一種形式。如-4.5e-3,對應的十進數大小為-4.5*10-3。如:
>>> 7.5e3 7500.0 >>> -4.5e-3 -0.0045
3.復數
復數類型表示數學中的復數。復數可以看作(a,b)的二元有序實數對,表示的數為a+bj,其中a為實部,b為虛部。復數的虛部通過后綴j或J來表示,如3.4+5j,-2.6+8j,1.23e-4+5.67e+76j。
在復數中,實部與虛部的數值都是浮點類型。對于復數z,獲取實部與虛部可以用z.real和z.imag。如:
>>> 1.23e-4+5.67e+76j.real 0.000123 >>> 1.23e-4+5.67e+76j.imag 5.67e+76
復數在科學計算中非常有用,Python直接支持復數類型的運算,為復數的使用提供了方便。
2.1.2 邏輯類型
在日常生活中經常對某些疑問需要回答“是”或“不是”,或者“Yes”或“No”。在數學中對判斷通常作出“對”或“錯”的回答。而計算機中,對肯定的回答用“True”,否定的回答用“False”來表示。如:
>>> b=110<100 >>> print (b) False
在上面的這段代碼中,b為邏輯型變量,110<100為邏輯型表達式。邏輯變量只有兩種取值:True或False。判斷110<100為False,再將該值賦給b,所以輸出為False。
在Python中邏輯型值與整數值是可以相互轉換的。它們也可以參與運算。如:
>>> True+5 6 >>> False+5 5
True值為1,False為-1。可以通過int( )取整函數來觀察它們的值。
>>> int (True)
1
>>> int (False)
0
2.1.3 其他類型
除了上述提到了這些類型以外,Python還提供了字符串類型,如列表、元組、字典、集合等。這些類型請參看第3、4章。
- DB2 V9權威指南
- Spring Boot開發與測試實戰
- 軟件架構設計:大型網站技術架構與業務架構融合之道
- Manga Studio Ex 5 Cookbook
- 圖解Java數據結構與算法(微課視頻版)
- HTML5游戲開發案例教程
- 軟件項目管理實用教程
- bbPress Complete
- Selenium Testing Tools Cookbook(Second Edition)
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- Instant Nancy Web Development
- 微服務從小白到專家:Spring Cloud和Kubernetes實戰
- 軟件測試教程
- ArcGIS for Desktop Cookbook
- Three.js權威指南:在網頁上創建3D圖形和動畫的方法與實踐(原書第4版)