1. 程式人生 > >Python資料型別——整型、布林型、列表、元祖、字典

Python資料型別——整型、布林型、列表、元祖、字典

Python直譯器可以自動識別使用者輸入的資料型別。建立物件的資料型別,可以通過type檢視。需要注意的是:使用者通過input輸入的資料,其型別均為字串

num1 = input("please input num1: ")
num2 = input("please input num2: ")
print("type of num1: ",type(num1),"type of num2: ",type(num2))
please input num1: test
please input num2: 123
type of num1:  <class 'str'> type of num2:  <class 'str'>

整型

整型可分為整型(32位機器上整型的取值範圍為:-2**31~-2**31)和長整型。Python2.7中會自動轉換數字為整型、長整型。但在Python3.6中,不再有整型長整型之分。
Python中提供了10進位制轉換為其他進位制的方法

  • 十進位制轉十六進位制
>>> hex(10)
'0xa'
  • 十進位制轉八進位制
>>> oct(10)
'0o12'
  • 十進位制轉二進位制
>>> bin(10)
'0b1010'

在浮點數中,Python預設的精度為17位,這個精度越到後面越不準確。當我們的計算需要使用更高精度的時候,可以使用“getcontext”和"Decimal"的方式來實現

>>> a = 3.141592653002154564564
>>> a
3.1415926530021547
>>> from decimal import *
>>> getcontext()
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 50
>>> a = Decimal(1)/Decimal(3)
>>> a
Decimal('0.33333333333333333333333333333333333333333333333333')

整型的常用方法

  1. int:強制型別轉換

    >>> a = "0xa"
    >>> print(int(a,base=16))
    10
  2. bit_length:整數轉換成二進位制後所佔最少bit位數

    >>> a = 10
    >>> print(a.bit_length())
    4
    >>> print(bin(a))
    0b1010

布林型

列表

元祖

字典