常用數據類型 Common Data Types
類型 | 例子 |
---|---|
整數 | -100 |
浮點數 | 3.1416 |
字符串 | 'hello' |
列表 | [1, 1.2, 'hello'] |
字典 | {'dogs': 5, 'pigs': 3} |
Numpy數組 | array([1, 2, 3]) |
其他類型 Others
類型 | 例子 |
---|---|
長整型 | 1000000000000L |
布爾型 | True, False |
元組 | ('ring', 1000) |
集合 | {1, 2, 3} |
Pandas類型 | DataFrame, Series |
自定義 | Object Oriented Classes |
整型 Integers
整型運算,加減乘:
a= 2+2 print a 結果:4
a= 2-2 print a 結果:0
a= 2*2 print a 結果:4
a= 12/5 print a 結果:2
冪指數:a = 2 ** 5 print a 結果:32
取余:a = 32 % 5 結果:2
取余:a = 32 % 5 結果:2
賦值的變量 a = 2 print a 結果:1
使用type()函數來查看變量類型
type(a) print a 結果:int
查看整數的最大值
import sys
sys.maxint
結果: 2147483647
長整型 Long Integers
當整型超出范圍時,Python會自動將整型轉化為長整型,不過長整型計算速度會比整型慢。
a = sys.maxint + 1
print type(a) 結果:<type 'long'>
長整型的一個標志是后面以字母L結尾:
print a 結果:2147483648L
可以在賦值時強制讓類型為長整型:
b = 1234L type(b) 結果:long
長整型可以與整型在一起進行計算,返回的類型還是長整型:
a = a - 4
print a 結果:2147483644L
浮點數 Floating Point Numbers
a = 1.4 type(a) 結果:float
在之前的除法例子12 / 5
中,假如想要使返回的結果為2.4,可以將它們寫成浮點數的形式:12.0 / 5.0 結果:2.4
12 / 5.0 結果:2.4
12.0 / 5 結果:2.4
浮點數與整數進行運算時,返回的仍然是浮點數:
5 + 2.4 結果:7.4
浮點數也可以進行與整數相似的運算,甚至可以取余:
3.4 - 3.2 結果:0.19999999999999973 #注意看 3.4 - 3.2
的結果並不是我們預期的0.2
,這是因為浮點數本身儲存方式引起的,浮點數本身會存在一點誤差。
12.3 + 32.4 結果:44.7
2.5 ** 2 結果:6.25
3.4 % 2.1 結果:1.2999999999999998
'{:.52}'.format(3.4 - 3.2) 結果:'0.199999999999999733546474089962430298328399658203125'
當我們使用print
顯示時,Python會自動校正這個結果
print 3.4 - 3.2 結果:0.2
可以用sys.float_info
來查看浮點數的信息:
import sys sys.float_info
結果:sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
例如浮點數能表示的最大值:
sys.float_info.max 結果:1.7976931348623157e+308
浮點數能表示的最接近0的值:
sys.float_info.min 結果:2.2250738585072014e-308
浮點數的精度:
sys.float_info.epsilon 結果:2.220446049250313e-16
復數 Complex Numbers Python 使用 j
來表示復數的虛部:
a = 1 + 2j type(a) 結果:complex
可以查看它的實部,虛部以及共軛:
a.real 結果:1.0
a.imag 結果:2.0
a.conjugate() 結果:(1-2j)
交互計算 可以將復雜的表達式放在一起計算:
a = 1 + 2 - (3 * 4 / 6) ** 5 + 7 % 5
print a 結果:-27
在Python中運算是有優先級的,優先級即算術的先后順序,比如“先乘除后加減”和“先算括號里面的”都是兩種優先級的規則,優先級從高到低排列如下:
( )
括號**
冪指數運算* / // %
乘,除,整數除法,取余運算- '+ -' 加減
整數除法,返回的是比結果小的最大整數值
12.3 // 5.2 結果:2.0
12.3 // -4 結果:-4.0
簡單的數學函數
絕對值:
abs(-12.4) 結果:12.4
取整:
round(21.6) 結果:22.0
最大最小值:
print min(2, 3, 4, 5) 結果:2 print max(2, 4, 3) 結果:4
變量名覆蓋
不要用內置的函數來命名變量,否則會出現意想不到的結果:
type(max) 結果:builtin_function_or_method
不要這樣做!!!max = 1 type(max) 結果:int
max(4, 5)
結果:
TypeError Traceback (most recent call last) <ipython-input-41-c60446be959c> in <module>() ----> 1 max(4, 5) TypeError: 'int' object is not callable
類型轉換
浮點數轉整型,只保留整數部分:
print int(12.324) 結果:12 print int(-3.32) 結果:-3
整型轉浮點型:
print float(1.2) 結果:1.2
布爾型 Boolean Data Type
布爾型可以看成特殊的二值變量,其取值為
True
和False
:
q = True
type(q) 結果:bool
可以用表達式構建布爾型變量:
q = 1 > 2print q 結果:False
常用的比較符號包括:
<, >, <=, >=, ==, !=
Python支持鏈式比較:
x = 2
1 < x <= 3 結果:True
原地計算 In-place
Python可以使用下面的形式進行原地計算:
b = 2.5 b += 2 print b 結果:4.5 b *= 2 print b 結果:9.0 b -= 3 print b 結果:6.0
其他表示
除了10進制外,整數還有其他類型的表示方法。
科學計數法:
1e-6 結果:1e-6
16進制,前面加0x
修飾,后面使用數字0-9A-F: