1. 程式人生 > >Python的基礎語法

Python的基礎語法

fin dict str 轉換 就是 精確計算 參數 條件 轉換成

數據類型

  在現實中,會根據事物的不同表現,進而可以進行相應的分類。例如,當去超市購物時,超市會根據商品

的不同特征分類:食品類,日常用品類,家用電器類……在學數學時,也可以對數值進行分類:整數,小數,

分數,復數……。同樣,在Python中,也可以根據數據的不同特征,對數值進行不同的分類。

在Python中,數據可以分為如下類型:

  數值類型

    整數類型(int)

    浮點類型(float)

    復數類型(complex)

  布爾類型(bool)

  序列類型

    列表(list)

    元組(tuple)

    字符串(str)

    字節(bytes)

  映射類型(dict)

  集合類型(set)

  其他內置類型

鴨子類型 

  在Python中,嚴格來說,變量是不具有類型的,變量的類型完全取決於其所關聯的對象類型,這與其他

語言的差別較大(C,Java等)。因此,常習慣的稱Python的類型為“鴨子類型”,這是一種動態類型的體現。

說明:

  1、由於變量必須要關聯一個具體的對象,才能確定變量的類型。因此,在定義變量時,不能只給出變量

    的名字,必須要同時也給出變量所關聯的對象。

  2、python2中還支持長整數類型(Long),在python3中取消。

整數類型

  整數類型(int)是最常使用的類型。支持四種進制的表示

    二進制(使用0b或0B前綴)

    八進制(使用0o或0O前綴)

    十進制(無前綴)

    十六進制(使用0x或0X前綴,10 ~ 15使用a ~ f或A ~ F表示) 

  進制轉換

    可以調用相應的函數,來對四種進制之間進行轉換。

    bin() 其他進制轉換成二進制

    oct() 其他進制轉換成八進制

    int() 其他進制轉換成十進制

    hex() 其他進制轉換成十六進制  

   分隔符

      當數值較大時(尤其是二進制),對程序的可讀性會造成影響,此時,可以在數值之間使用

    一個_進行分隔,從而提高程序的可讀性(Python3.6)。

 布爾類型

    布爾類型(bool)表示的是一種條件的判斷,具有兩個值:True與False。其中,True表示條件成立,

  即為“真”,而False表示條件不成立,即為“假”。布爾類型是整數類型的子類型。實際上,True就是1,

  False就是0。因而,也可以使用布爾類型參與數學上的運算,與使用1與0參與運算的結果是一樣的。

 浮點類型

    浮點類型(float)就是數學上的小數類型。例如:1.0,-2.5等,都是浮點類型。在進制表示上,浮點類

  型僅支持十進制表示(這點不同於整數類型)。除了常規的表示方式外,浮點類型也可以使用數學上科學計

  數法的形式表示,例如:    

    1.5e30

  說明:

    十進制的整數類型不能使用0開頭,但是浮點類型可以以0開頭。

 浮點類型的特殊值 

    浮點類型具有兩個特殊值:NaN(Not A Number)與Infinity(無窮大),其中無窮大又可分為正無窮

  (+Infinity)與負無窮(-Infinity)。可以通過float函數來獲得這些值。  

   NaN有一個特征,就是自己不等於自己,因此,不能通過==來判斷一個數值是不是NaN。

 浮點數據類型的不精確性  

    在使用浮點類型時,需要留意,浮點類型在計算機中僅是近似的存儲,浮點類型是不精確的。因此,要避

  免進行如下的操作:

    1、避免數量級相差很大的浮點數之間進行運算。

    2、避免進行等量的比較。

  decimal 的使用

    考慮到浮點類型的不確定性,因此,如果需要進行精確計算時,可以使用decimalmo模塊中的Decimal類

  來實現,該類提供精確的浮點計算。  

    此外,也可以指定Decimal的計算精度,即計算結果最多保留的有效數字位數,默認為28位有效數字。

 復數類型  

   Python中的復數類型(complex)類似於數學上的復數。含有虛部(使用j或J後綴)的數值為復數類型。

    例如:

      3 + 5j,-2 - 3j(數學中虛部後綴為i)。

      復數分為實部與虛部兩個部分,可以通過real與imag屬性分別獲取復數的實部與虛部的值。

  類型轉換

    可以通過type函數獲取變量的類型,準確的講,應該是變量所關聯的對象的類型。

  類型轉換函數

    python提供了一些轉換函數,可以在不同的類型之間進行類型轉換。

     int(value)      

      將數值類型或字符串轉換為整數(int)類型。如果沒有參數,返回0。

     float(value)

      將數值類型或字符串轉換成浮點(float)類型。如果沒有參數,返回0。

     complex(real, imag)

      根據實部和虛部(可選)創建一個復數。如果沒有參數,返回0j。

     bool(value)

      參數為真時,返回True,否則返回False。

  註意:

    1、盡管可以使用轉換函數進行類型轉換,但並非任意兩個類型之間都是能夠進行轉換的。

      例如,復數類型就不能夠通過int或float轉換為整數或浮點類型。  

    2、此外,int函數還可以提供第二個參數,指定解析轉換時,使用的進制。此時,第一個參數

      需要是字符串類型(或字節等類型),不能是數值類型。例如:

      int("300",16)

      則會根據16進制來解析300,最終函數返回的結果為768,而不是300。如果沒有指定第

      二個參數,則默認為十進制。

  

Python的基礎語法