Python 對象之資料類型,python資料類型
對於python,一切事物都是對象,程式中儲存的所有資料都是對象,對象基於類建立
電腦能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣的資料,不同的資料,需要定義不同的資料類型。
class 指自訂類型,type 指內建類型。兩者都表示資料類型,稱呼不同而已
每個對象都有一個身份、一個類型和一個值,身份指對象在記憶體中所處位置的指標(記憶體中的地址),內建函數id()可返回一個對象的身份。變數名就是引用這個具體位置的名稱
執行個體化:建立特定類型的對象
執行個體被建立後,其身份和類型不可改變
若對象值可修改,稱為可變對象
若對象值不可修改,稱為不可變對象
容器:某個對象包含對其它對象的引用,如 列表。
python是強型別語言,對象所屬的類型決定了這個對象所能參與的操作或它支援的方法,即方法存在類中,對象裡具有的功能都是去類裡找的。
大多數對象都有大量特有的資料屬性和方法
屬性:與對象相關的值,如 變數名
方法:被調用時將在對象上執行某些操作的函數
python會把類型中經常使用的操作做成
1.內建方法
2.文法糖,自動觸動方法
>>> name='test'
>>> name.upper() --方法
TEST
>>> num = 1
>>> print(num.real) --屬性
1
help(type) -- 查看某個類型有哪些方法或屬性
>>> help(int)
help(type.func) -- 尋找某個方法的用法
>>> help(str.find)
使用點(.)運算子可以訪問屬性和方法
print(type(obj)) -- 查看對象由哪個類建立的
>>> from twisted.internet import reactor
>>> print(type(reactor))
核心資料類型
數字:int,long,float,complex,bool (0:False, 1:True)
字元:str,unicode
列表:list
元組:tuple
字典:dict
檔案:file
其它:set(集合),frozeset, 類類型,None
空值是Python裡一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
Python對象的運算
1. 算術運算
+ - * / % // ** = != ==
+= -= *= /= %= //= **=
//: 地板除,只取整數部分
**: 求冪
%: 模數,即取餘數
>>> (1+0.01) ** 365 --每天進步一點點
37.78343433288728
>>> (1-0.01) ** 365 --每天退步一點點
0.025517964452291125
python 有一個和數值相關的庫 math , math模組可以實現算術的進階運算
>>> import math
>>> math.pi
3.141592653589793
2. 位元運算:按位元運算時把數字當做二進位來進行運算
& 按位與,兩個都為真結果才為真
| 按位或,只要有一真結果為真
^ 按位異或,只有一真和一假時結果才為真
~ 按位取反,>>> ~9 => -10
<< 左移動,將位向左移一位
>> 右移動,將位向右移一位
128 64 32 16 8 4 2 0
0 0 0 0 0 0 0 0
10 1 0 1 0
50 1 1 0 0 1 0
& 0 0 0 0 1 0
| 1 1 1 0 1 0
3. 邏輯運算子
and
or
not
在Python中,可以直接用True、False表示布爾值(注意大小寫),也可以通過布爾運算計算出來。布爾值可以用and、or和not運算。
and運算是與運算,只有所有都為True,and運算結果才是True;
or運算是或運算,只要其中有一個為True,or運算結果就是True;
not運算是非運算,它是一個單目運算子,把True變成False,False變成True
布爾值經常用在條件判斷中,如:
if age >= 18:
print('adult')
else:
print('teenager')
4. 成員運算子
in
not in
5. 身份運算子
is
is not