基礎知識: 常用數據類型分類 及 數值


常用數據類型 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 = 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

布爾型可以看成特殊的二值變量,其取值為TrueFalse
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:
 
              


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM