Hi! 大家好,我是Eric,这次教大家Python的简单类别(simple type)!
■ 简单类别(simple type)
■ 整数类别
Python整数为可变精度,可以完成在其他程式语言中会溢位的计算,如下:2 ** 200
此外,除法结果预设为转换成浮点型别5 / 2
若想显示整除则可使用下列方式5 // 2
■ 浮点数类别
可以储存小数位,可用标準十进位制表示法或指数表示法:x = 0.005y = 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.titlea + 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视为Truebool(0)bool(None) #None型别、空字串及空阵列也都视为Falsebool("")bool([])
■ Refer to《Python 旋风之旅,[正体中文]Will保哥》的第6章