iT邦幫忙

0

[Python]B04─簡單類別(simple type)

Hi! 大家好,我是Eric,這次教大家Python的簡單類別(simple type)!
/images/emoticon/emoticon32.gif


■ 簡單類別(simple type)

■ 整數類別

  • Python整數為可變精度,可以完成在其他程式語言中會溢位的計算,如下:
2 ** 200
  • 此外,除法結果預設為轉換成浮點型別
5 / 2
  • 若想顯示整除則可使用下列方式
5 // 2

■ 浮點數類別

  • 可以儲存小數位,可用標準十進位制表示法或指數表示法:
x = 0.005
y = 5e-3          #e或E等同乘以10的幾次方
print(x == y)

float(1)      #可將整數轉變為浮點數
  • 浮點數計算時小數部分精度有限,可能造成在比較時會不穩定:
0.1 + 0.2 == 0.3   
  • 造成上面問題的原因是,所有使用浮點數的程式語言都使用固定的位數來存放這些浮點數,導致只能顯示某些數字的大約值,可由下列程式碼查看0.1、0.2及0.3的高精度位數,會發現0.1+0.2不會等於0.3。
print("0.1 = {0:.17f}".format(0.1))
print("0.2 = {0:.17f}".format(0.2))
print("0.3 = {0:.17f}".format(0.3)) 

■ 複數類別

  • 有著實部及虛部的數字:
complex(1,2)
    
c = 1 + 2j    #也可加上j表示虛部
c.real        #顯示實部
c.imag        #顯示虛部
c.conjugate() #共軛複數
abs(c)        #sqrt(c.real ** 2 + c.imag ** 2)

■ 字串類別

  • Python可使用單引號或雙引號建立字串:
a = "fsdf"
b = 'erg'
    
Len(a)                       #字串長度
response.upper(a)            #轉換為大寫,轉換為小寫為str.lower()
message.capitalize(a)        #首字轉換為大寫,也可使用str.title
a + b                        #連接字串
5 * a                        #多次串接
a[0]                         #取得目標字元,索引由0開始

■ None類別

  • Python有一個特殊的型別NoneType,只有一個值:None,最常被用於一個函數返回值的預設值,如Python3的print()不會回傳任何值,但我們依然可以得到它的值:
type(None)
a = print("abc")
print(a)

■ 布林類別

  • Python的布林型別是區分大小寫的,必須為首字大寫:
print(True, False)
    
bool(2019)         #所有數字型別將0視為False,將1視為True
bool(0)
bool(None)         #None型別、空字串及空陣列也都視為False
bool("")
bool([])

■ Refer to《Python 旋風之旅,[正體中文]Will保哥》的第6章


尚未有邦友留言

立即登入留言