python數字類型

來源:互聯網
上載者:User

標籤:python基礎知識

在python中,資料採用了對象的形式(無論是python內建對象還是使用python工具和像C語言自行建立的對象)。

Python數字類型工具:

  1. 整數和浮點數

  2. 複數

  3. 固定精度的十進位數

  4. 有理分數

  5. 集合

  6. 布爾類型

  7. 無窮的整數類型

  8. 各種數字內建函數和模組


python數字類型在程式中的顯示方式之一是作為常量(還有一個是調用模組使用函數):

數字            常量

12,-12      整數

1.23            浮點數

0o177,0x9ff,0b0000100 八進位、十六進位、二進位

3+4j            複數


內建數學工具和擴充:

運算式操作符

        +-*/>>**&

內建數學函數

        pow,abs,round,int等

公用模組

        random,math等

運算式是大多數數字類型的基本工具。


在實際應用中的數字:

    變數和基本的運算式

變數和對象不一樣,無需聲明

變數在給它第一次賦值時建立

變數在運算式中使用將被替換為他們的值

變數在運算式中使用時需要先賦值,否則會報錯。

常用運算式1、簡單加減乘除:

>>> a=4

>>> b=5

>>> a+b,a-b

(9, -1)

>>> a*3,b/2

(12, 2.5)

>>> a%3,b**2

(1, 25)

>>> a<b

True

>>> a>b

False

>>> a==b

False


常用運算式二、除法:真除法、Floor除法

x/y:在python3.0中是真除法,無論任何類型都會保留小數部分。

    >>> 5/1

    5.0

    >>> 9/3

    3.0

x//y:截掉餘數並針對數字類型保留類型

    >>> 5//3

    1

    >>> 9//2

    4

    >>> 5.0//3

    1.0

    >>> 5//2.0,5//-2.0

    (2.0, -3.0)

整數精度,在python3.0中整數可以使用無窮的長度,只要記憶體足夠大。


常用運算式三、十六進位、八進位、二進位計數

    >>> 0o7,0o11,0o377

    (7, 9, 255)

    >>> 0x01,0xF,0xFF

    (1, 15, 255)

    >>> 0b1,0b1000,0b11111111

    (1, 8, 255)

    >>> oct(64),hex(64),bin(64) 將十進位轉換為八進位、十六進位、二進位函數

    ('0o100', '0x40', '0b1000000')

    int函數將一個數字字串變換成一個整數,第二個數字是指定的數位進位。

    >>> int('64'),int('100',8),int('40',16),int('1000000',2)

    ( 64, 64, 64, 64)


常用運算式四、複數

>>> 2+2j

(2+2j)

以上介紹了核心資料類型:整數、浮點、複數,他們是通過常量運算式建立的,接下來介紹其他資料類型。

1、小數數字,是通過匯入模組調用函數後建立的,使用小數數字有固定的精度浮點值。

    >>> from decimal import Decimal

    >>> Decimal('0.2')+Decimal('0.01')

    Decimal('0.21')

    a、設定全域精度

         >>> import decimal

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1428571428571428571428571429')

        >>> decimal.getcontext().prec=4                       #通過調用decimal模組的getcontext函數指定保留小數位元,來指定精度

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1429')

    b、設定臨時精度        

        >>> import decimal

        >>> decimal.Decimal('1.00')/decimal.Decimal('7.00')

        Decimal('0.1428571428571428571428571429')

        >>> with decimal.localcontext() as ctx:              #通過調用decimal模組的localcontext函數臨時保留小數位元

        ...  ctx.prec=2

        ...  decimal.Decimal('1.00')/decimal.Decimal('7.00')

        ...

        Decimal('0.14')

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1428571428571428571428571429')

  2、分數類型(fraction)

類似小數數字,也是通過模組的匯入後函數建立。

        >>> from fractions import Fraction

        >>> x=Fraction(1,4)

        >>> x

        Fraction(1, 4)

        >>> print(x)

        1/4

也可以通過浮點數建立

        >>> Fraction(.25)

        Fraction(1, 4)

        >>> Fraction('.25')

        Fraction(1, 4)

3、集合

集合是無序的且不會將鍵匹配到值,既不是序列也不是映射類型。使用內建函數set來建立集合類型。

註:一個項只能在集合中出現一次。最重要的一個使用原因。。

        >>> set('sspa')

        {'a', 's', 'p'}

以下是建立集合的方式:

通用方式       

         >>> x=set('abcde')

        >>> y=set('efghj')

        >>> x,y

        ({'e', 'b', 'd', 'c', 'a'}, {'j', 'f', 'h', 'e', 'g'})

        >>> x-y

        {'c', 'd', 'a', 'b'}

        >>> x|y

        {'j', 'f', 'h', 'e', 'b', 'd', 'g', 'c', 'a'}

        >>> x&y

        {'e'}

3.0的添加方式:

        >>> set([1,2,3,4])

        {1, 2, 3, 4}

        >>> set(['spam'])

        {'spam'}

        >>> set('spam')

        {'m', 'a', 's', 'p'}

        >>> set()                    #空集合必須使用set建立

        set()

        >>>

4、布爾型

true和false

python數字類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.