整數(int)與浮點數(float)
整數(int)
在Python語言裡由型式int代表,在2.x版裡,分為固定精確度的整數型別int與無窮精確度的長整數型別long,一旦數值超過界限,便自動轉程長整數型別,長整數會在尾巴加上(L)作標示
在3.x版裡則統和為一,只有型別int(無窮精確度)
浮點數(float)
在電腦裡會以二進位表示法來表示,但使用二進位表示法的話,有些值並無法以二進位表示法完美表示,只能儲存近似值

當浮點數要比較大小時,不該直接使用 == 運算子,而是應該設定誤差值,例如:0.001,然後比較兩數差值之絕對值是否小於此誤差,若在誤差值內應視為相等。
整數的表示法
整數的字面值,除了以十進位(decimal)書寫,也能以二進位(binary)、十六進位(hexadecimal)、八進位(octal)書寫,分別在數字之前加上 0b 、0x 、0o即可


浮點數的表示法
除了一般帶有小數點 . 的表示法,也能使用科學記號法,以指數來表示,例如: 300 等於3乘上10的2次方,寫在程式碼裡會以 e 隔開前後 ,寫成3e2

運算
數值型別的運算子 (+、-、、*、/、//、%),相關內建函式abs()絕對值,divmod()商和餘數,pow()冪次方,round()四捨五入,須特別注意round()


模組math有很多數學運算相關函式,想求 x 的 1/n次方。傳入參數,必須注意 1/3 在2.x版與3.x版裡代表不同意思


條件運算式(三元運算子)
x if y else z
其中 x 、 y 、z可以是任何運算式,當 y 為真時,運算式的結果會是 x ,當 y 為假時,結果是 z

物件 型別 方法
將運算子與內建函式視同"方法(method)"

方法幾乎等同於函式,只不過方法附屬於某種型別的物件,當要呼叫方法時,其一般型式為"物件.方法(參數)"。舉例: li是個串列, li.append(3)便可將整數物件3附加在此串列的尾端。

複數(complex)
由實部(real part)與虛部(imaginary part)組合而成,皆為浮點數。
跟int、float一樣,complex為不可變物件,一但建立就不能修改,有內建函式complex(),接受一或兩個數字作為參數,或一個符合格式的字串,建立出complex物件

屬性項
當想取出複數的實部或虛部,並沒有運算子或內建函式可用,僅能透過型別complex的屬性項real與imag來取用

支援complex的運算子與內建函式,跟int與 float差不多,其中須特別注意的有 : complex不支援比較運算子(<、<=、>、>=),3.x版的複數不支援運算子(//、%)與內建函式 divmod
模組cmath含有跟comple相關的函式,如直角座標系(笛卡兒座標系)與極座標系的轉換

轉型
在運算式中若混用不同的數值型別,須轉成相同的型別才可運算, 'hello'+5 其實是'hello'.add(5),而Python並不會自動把數字5轉成字 '5' 。

repr,與__str__非常類似,也是回傳字串表示,但__repr__回傳的字串可當作程式碼,再給直譯器的話,建立出相同的物件,而__str__的用意是回傳給我們易讀易懂得字串來表示該物件

Comments
comments powered by Disqus