3.データ型——数値

4295 ワード

数値は、スカラーストレージ、変更不可、直接アクセス可能なデータ型に属します.数値には、整数、浮動小数点、ブール、複素など、さまざまな数値タイプが含まれます.
1.数値オブジェクトの作成
変数に直接数値を割り当てると、数値オブジェクトが作成されます.>>> a = 1
変数に別の数値を再割り当てすると、変数を更新できます.>>> a = 2
2.整形
整数値には、通常の整数(32/64ビット)と長い整数(メモリ上限)が含まれます.
  • 整数は一般的に10進数、Pythonは2進数、8進数、16進数をサポート
  • >>> a = 0b101                #    ,  0b   0B   
    >>> a = 0o127                #    ,  0o   0O   
    >>> a = 0x1AF                #     ,  0x   0X   
    >>> a = 12
    >>> bin(a)                   #      bin(I)          
    '0b1100'
    >>> otc(a)                   #      otc(I)          
    '014'                     #     Python    ,        0   ,     0o    
    >>> hex(a)                   #      hex(I)           
    '0xc'
    
  • 通常整数にLを加えて整数を長整数に変換できるが、Pythonでは1つの整数の値が通常整数の値範囲を超えると自動的に長整数に変換されるため、このようなやり方は必要ない.

  • 3.浮動小数点型
    浮動小数点型はCの二重精度浮動小数点型に類似しており、十進法または科学カウント法で表すことができる.各浮動小数点数は8バイト(64ビット)を占めます.
    >>> a = 1.0                      #    
    >>> b = 123E4                    #      
    >>> c = 123E-4                   # E        '+' '-'         
    

    4.複数
  • 複数は実部+虚部の形で表され、虚部はJまたはjで終わる>>> a = 1 + 2j
  • 実部は表現的にはあってもなくてもよいが、内部的には虚数は単独では存在せず、常に1つの値0.0の実数と加算して1つの複素数を構成する>>> a = 2j
  • 複数の内部表現形式は一対の浮動小数点数であるが、複数に対する操作はいずれも複数の計算法則に従って行う
  • 内蔵関数complex(real,imag)で虚数を作成してもよい
  • a = complex(1, 2)
    a
    (1+2j)

    
    -        :
    
        -      
    
            ```
            >>> a.real                      #   
            1.0
            >>> a.imag                      #   
            2.0                             #         ,             
            ```
    
        -     
    
            ```
            >>> a.conjugate()        #    conjugate()              
            (1-2j)
            ```
    
    ### 5.    
    
    -         ,__True__   __False__
    
    -          ,         
    
    -       ,True   False      1   0
    
        ```
        >>> 6 + True
        7
        >>> 6 + False
        6
        ```
    
    -    bool()                 
    
        ```
        >>> bool('0')
        True
        ```
    
    ### 6.    
    
    -                ,          ,              。
    
    -       
    
        - __/__       ,            ,      ,      
    
        - __//__    Floor   
    
        ```
        >>> 10 / 4
        2
        >>> 10 / 4.0
        2.5
       >>> 10 // 4.0
       2.0
        ```
    
    ### 7.         
    
    -       :   int()、long()、float()、complex()   bool()                    。
    
    -     
    
        - abs()           ,         ,   `math.sqrt ( num.real + num.imag )`
    
            ```
            >>> abs(-1)
            1
            >>> abs(1+2j)
            2.23606797749979
            ```
    
        - divmod()           ,             。    ,        `math.floor(num1/num2)`;     ,   `math.floor((num1/num2).real)`
    
            ```
            >>> divmod(10, 3)
            (3, 1)
            >>> divmod(10, 2.5)
            (4.0, 0.0)
            >>> divmod(2 + 1j, 0.5 - 1j)
            ((-0+0j), (2+1j))
            ```
    
        - round()               ,            ,               。                (       )
    
            ```
            >>> round(3)
            3.0
            >>> round(3.45)
            3.0
            >>> round(3.45, 1)
            3.5
            ```
    
            -    int()         (      )
            -    floor()                (       )
            -    round()           (       )
    
    ### 8.     、 
    
    |    |    |
    |------|------|
    | math/cmath |    C        ,      math,      cmath |
    | operator |            |
    | random |         |
    | decimal |        |
    
            ,          
    
    - [ NumPy ](http://www.numpy.org/)
    
    - [ SciPy ](http://www.scipy.org/)
    
    ###9.   
    
       - [ Numeric-Types ](https://docs.python.org/2/library/stdtypes.html#numeric-types-int-float-long-complex)
    
       - [ Boolean-Operations ](https://docs.python.org/2/library/stdtypes.html#boolean-operations-and-or-not)
    
       - [ Numeric-Library](https://docs.python.org/2/library/numeric.html)