日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习笔记《Python核心编程》第4章Python对象

發布時間:2025/7/25 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习笔记《Python核心编程》第4章Python对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所有的python對象都擁有三個特性:身份,類型和值

? ? ?身份:每個對象都有一個唯一的身份標識自己,可以使用內建函數id()來得到,這個值被認為是該對象的內存地址;——只讀

? ? ?類型:對象的類型決定了該對象可以保存什么類型的值,可以進行什么操作,可以用內建函數type()查看對象的類型,type()返回的也是對象(類型也是對象);——只讀

? ? ?值:對象標識的數據項

python標準類型:

? ? ?數字 ? ?Interger/整型 ? ?Boolean/布爾型 ? ? Long integer/長整型 ? ? Floating point real number/浮點型 ? ?Complex number/復數型

? ? String/字符串 ? ?List/列表 ? ?Tuple/元組 ? ?Dictionary/字典

python其它內建類型

? ? 類型對象 ? ?None ——Python的Null對象 ? ?文件 ? 集合/固定集合 ? ?函數/方法 ? ?模塊 ? ?類

內部類型:

? ? ?代碼對象——是變異過的Python源代碼片段,是可執行對象。通過調用內建函數compile()可以得到代碼對象,代碼對象可以被exec命令或eval()內建函數執行。

? ? ?幀對象——標識python的執行棧幀。

? ? ?跟蹤記錄對象——當代碼出錯時,python就會引發一個異常。當異常發生日,一個異常的棧跟蹤信息的跟蹤記錄對象被創建。

? ? ?切片對象——當使用python擴展的切片語法是,就會創建切片對象。擴展的切片語法允許對不同的索引切片操作,包括步進切片、多維切片和省略切片。

? ? ?省略對象——用于擴展切片語法,起記號作用。

? ? ?XRange對象——用于需要節省內存使用火range()無法完成的超大數據場合。

標準類型操作符

? ? 對象值比較:返回布爾值True或者False,數字類型根據數字的大小和符號比較,字符串按照字符序列值進行比較。

? ? 對象身份比較:比較是否是同一個對象的引用

? ? ? ? ? a is b 等價于 id(a)==id(b)————is 與 not標識符都是python關鍵字

布爾類型:布爾邏輯操作符and or not 都是Python關鍵字,not優先級最高。? ? ? ? ??

x,y = 3.1415926536,-1024x<5.0 #Truenot (x<5.0) #False (x<5.0) or (y > 2.7) #True (x<5.3) and (y> 2.7) #Falsenot (x is y) #True

注: Python中的整型對象和字符串對象時不可變對象,Python的變量都指針都是指向的同一個對象,比如:

? ? ? ?a = 4;?b = 4;??a is b ? ? ? ? #輸出True ? ? id(a) == id(b) 為True

? ? ? ?a = 'abc'; b = 'abc'; ? a is b ? ?#輸出True ? ? id(a) == id(b) 為True

標準類型內建函數:

? ? ?python提供了一些內建函數用于這些基本對象類型:cmp()、repr()、str()、type()和等同于repr()函數的單反引號(``)操作符,詳細如下:

? ? ?type() : 用法為type(object),接受一個對象作為參數,并返回它的類型。它返回的值也是以個類型對象。貌似前面已經寫到過了;

? ? ? ? ? type('abc') ? ? ? #返回<type 'str'>

? ? ? ? ? type(5) ? ? ? ? ? ?#返回<type 'int'>

? ? ?type() 與 isinstance() :代碼如下

#!/usr/bin/env pythondef displayNumType(num):print num,'is',if isinstance(num,(int,long,float,complex)):print 'a number of type:',type(num).__name__else:print 'not a number at all!!'

? ? ?cmp() : ? ?用于比較兩個對象obj1 和 obj2。如果obj1 < obj2,則返回一個負整數,如果obj1>obj2,則返回一個正整數,如果相等則返回0

? ? ?str() 和 repr()或反引號操作符``作用為以字符串的方式獲取對象的內容、類型、數值屬性等信息。str()獲得的字符串可讀性號,而repr()函數得到的字符串通常可以用來重新獲得該對象,即:obj == eval(repr(obj)) 這個等式成立。? ? ?

x = [0,5,0,9] x == eval(repr(x)) #True x == eval(`x`) #True

一句話總結:repr()輸出對python比較友好,而str()的輸出對用戶比較友好。雖然如此,很多情況下這三者輸出仍然都是完全一樣的。

工廠函數:它們看起來想函數,實際上它們是類,調用它們的時候實際上是生成了改類型的一個實例 !如:

int() ? ? ?long() ? ? ?float() ? ? complex() ? ? ?str() ? ? ? unicode() ? ? ?basestring() ? ? ? list() ? ? ? tuple() ? ? ? ?type()

dict() ? ?bool() ? ? ? set() ? ? ? frozenset() ? ? object() ? ? classmethod() ? ? ? ?staticmethod() ? ? ?super() ? ? ? property() ? ? ??file() ? ??

?

以存儲模型為標準的類型分類:

? ? ? 標量/原子類型: ? 數值,字符串

? ? ? 容器類型: 列表、元組、字典

以更新模型為標準的類型分類:

? ? ? 可變類型:列表、字典

? ? ? 不可變類型:數字、字符串、元組?

以方位模型為標準的類型分類:

? ? ? 直接訪問:數字

? ? ? 順序訪問:字符串、列表、元組

? ? ? 映射訪問:字典

?本章結束

? ? ? ? ?

? ? ? ? ?

? ? ? ? ??

?

轉載于:https://www.cnblogs.com/NNUF/archive/2013/01/14/2860327.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Python学习笔记《Python核心编程》第4章Python对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。