国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python對象類型及其運算方法(詳解)

2020-01-04 16:56:15
字體:
來源:轉載
供稿:網友

基本要點:

程序中儲存的所有數據都是對象(可變對象:值可以修改 不可變對象:值不可修改)

每個對象都有一個身份、一個類型、一個值

例:

 >>> a1 = 'abc' >>> type(a1) str

創建一個字符串對象,其身份是指向它在內存中所處的指針(在內存中的位置)

a1就是引用這個具體位置的名稱

使用type()函數查看其類型

其值就是'abc'

自定義類型使用class

對象的類型用于描述對象的內部表示及其支持的方法和操作

創建特定類型的對象,也將該對象稱為該類型的實例,實例被創建后,其身份和類型就不可改變

容器:某對象內包含對其它對象的引用

對象擁有特有的數據屬性和方法,使用點運算符調用

數據:變量

方法:函數

1) 對象的身份和類型

兩個對象比較:

1、值比較:對象中的數據是否相同;

2、身份比較:兩個變量名引用的是否為同一對象;

3、類型比較:兩個對象的類型是否相同;

注意:

內置函數id()可返回對象的身份即在內存中的位置

is比較兩個對象的身份

type()返回對象的類型

例:

>>> num1 = 5>>> num2 = 6>>> num1 == num2 值比較False  >>> num1 is num2 身份比較True>>> type(num1) is type(num2) 類型比較True

2)核心數據類型

數字:int, long, float, complex(復數), bool

字符:str, unicode

列表:list

字典:dict

元組: tuple

文件:file

其它類型:集合(set), frozenset, 類類型, None

3)類型轉換

str(), repr()或format():將非字符型數據轉換為字符;
int(): 轉為整數
float(): 轉為浮點數
list(s): 將字串s轉為列表
tuple(s):將字串s轉為元組
set(s): 將字串s轉為集合
frozenset(s):將字串s轉換為不可變集合;
dict(d): 創建字典;其d必須是(key, value)的元組序列

例:

>>> str1 = 'hello,fanison'>>> list(str1)['h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n']>>> tuple(str1)('h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n')>>> set(str1)set(['a', 'e', 'f', 'i', 'h', 'l', 'o', ',', 's', 'n']) 特別注意!!!去重>>> l1=[('a',1),('b',2),('c',3)]>>> list(l1){'a': 1, 'c': 3, 'b': 2}

補充例題:

>>> a = 'ABC'>>> b = a>>> a = 'XYZ'>>> print a b'XYZ' 'ABC'

圖解過程

python,對象類型

4)數字類型操作

5種數字類型:整型、長整型、浮點型、復數、布爾型

所有數字類型均不可變

>>> a = 10# 整型
>>> b = 1.5 # 浮點型
>>> c = True # 布爾型
>>> d = 5+2j # 復數

例:

>>> 1 + 23>>> 1.0 + 23.0>>> 11 % 43>>> 11.0 / 4 2.75

整數和浮點數混合運算的結果是浮點數

python,對象類型

5)布爾類型

bool(布爾型)之所以屬于數字類型,是因為bool是int的子類。

>>> int(True)1>>> int(False)0>>> bool(1)True>>> bool(-1)True>>> bool(0)False

結論:

bool 轉 int時, Ture-->1, False-->0
int 轉 bool時, 非0-->True, 0-->False

與運算:只有兩個布爾值都為 True 時,計算結果才為 True。

>>> True and True  True >>> True and False False >>> False and True False >>> False and False False

或運算:只要有一個布爾值為 True,計算結果就是 True。

>>> True or True True >>> True or False True >>> False or True True >>> False or False False

非運算:把True變為False,或者把False變為True:

 >>> not True False >>> not False True

注意:1、任何非0數字和非空對象都為真;

2、數字0、空對象和特殊對象None均為假;

and 和 or 運算的一條重要法則:短路計算。

1. 在計算 a and b 時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。

2. 在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。

所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。

例:

>>> a = 'python'>>> print 'hello,', a or 'fanison'hello,python>>> b = ''>>> print 'hello,', b or 'fanison'hello,fanison

以上這篇Python對象類型及其運算方法(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延吉市| 奉节县| 五华县| 南宁市| 扶绥县| 珲春市| 屯留县| 玉田县| 库车县| 沈丘县| 略阳县| 河池市| 理塘县| 玉龙| 黄骅市| 嘉义市| 牟定县| 吐鲁番市| 三河市| 华蓥市| 仁怀市| 嘉黎县| 景谷| 龙川县| 三原县| 永春县| 湟中县| 苏尼特左旗| 富锦市| 瓦房店市| 云南省| 贵德县| 定安县| 安义县| 平江县| 玉林市| 宝山区| 昭通市| 军事| 休宁县| 城步|