標籤:python基礎知識
在python中,資料採用了對象的形式(無論是python內建對象還是使用python工具和像C語言自行建立的對象)。
Python數字類型工具:
整數和浮點數
複數
固定精度的十進位數
有理分數
集合
布爾類型
無窮的整數類型
各種數字內建函數和模組
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數字類型