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

歡迎訪問 生活随笔!

生活随笔

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

python

python核心教程_python核心教程--第四章

發布時間:2025/3/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python核心教程_python核心教程--第四章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第四章講的是python對象。

4.1 python對象

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

身份:

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

類型:

對象的類型決定了該對象可以保存什么類型的值,可以進行什么樣的操作,以及遵循什么樣的規則。我們可以使用type()查看python對象的類型

值:

對象表示的數據項

4.3.1 類型對象和type類型對象

類型是個對象,雖然有點奇特。對象的一系列固有行為和特性必須事先定義好。從這個角度看,類型正式保存這些信息的最佳位置。既然可以描述浙西信息,那么類型肯定不是簡單的一個字符串,而是一個復雜的對象。

我們來看看:

>>> class Foo:

"this is a class"

pass

>>> type(Foo)

>>> type("hello world")

就如Ruby里面一切都是對象一樣(純粹的面向對象語言),python也是一個面向對象的語言,只是沒那么純罷了。

4.4 內部類型--(備注:不太理解)

4.4.1 代碼對象

代碼對象是編譯過的python源代碼片段,它是可執行對象。通過調用內建函數compile()可以得到代碼對象。代碼對象可以被exec命令或eval()內建函數來執行。

代碼對象本身不包含任何執行環境信息,它是用戶自定義函數的核心,在被執行時動態獲得上下文。(事實上代碼對象是函數的一個屬性)一個函數除了有代碼對象屬性以外,還有一些其他函數必須的屬性,包括函數名,文檔字符串,默認參數,及全局命名空間等等。

4.4.2 幀對象

幀對象表示python的執行棧幀。幀對象包含python解釋器在運行時所需要知道的所有信息。它的屬性包括指向上一幀的鏈接,正在被執行的代碼對象,本地及全局名字空間字典以及當前指令等。每次函數調用產生一個新的幀,每一個幀對象都會相應創建一個C棧幀。用到幀對象的一個地方是跟蹤記錄對象。

4.4.3 跟蹤記錄 對象

當你的代碼出錯時,python就會引發一個異常。如果異常未被捕獲和處理,解釋器就會推出腳本運行,顯示類似下面的診斷信息:

>>> 1 / 0

Traceback (most recent call last):

File "", line 1, in

1 / 0

ZeroDivisionError: integer division or modulo by zero

當異常發生時,一個包含針對異常的棧跟蹤信息的跟蹤記錄對象被創建。如果一個異常有自己的處理程序,處理程序就可以訪問這個跟蹤記錄對象。

4.4.4 切片對象,4.4.5省略對象 4.4.6XRange對象

瘋狗一般的往下看,因為發現這章的內容有點無趣,結果就到了習題了。

4–1. Python 對象。與所有Python 對象有關的三個屬性是什么?請簡單的描述一下。

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

身份:

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

類型:

對象的類型決定了該對象可以保存什么類型的值,可以進行什么樣的操作,以及遵循什么樣的規則。我們可以使用type()查看python對象的類型

值:

對象表示的數據項

4–2. 類型。不可更改(immutable)指的是什么?Python 的哪些類型是可更改的(mutable),哪些不是?

可變類型: 列表,字典

不可變類型:數字,字符串,元祖

4–3. 類型。哪些Python 類型是按照順序訪問的,它們和映射類型的不同是什么?

順序訪問:字符串,列表,元祖

映射類型不是順序訪問的,而是通過關鍵字來訪問,相當于key--value

4–4. type()。內建函數type()做什么?type()返回的對象是什么?

顯示對象的類型。type()返回的對象是一個type()對象

4–4. str() 和 repr()。內建函數str()與repr()之間的不同是什么?哪一個等價于反引號(``)運算符?。

repr()等價于反引號。repr適合處理數據,而str適合輸出吧。

4–6. 對象相等。您認為type(a) == type(b)和type(a) is type(b)之間的不同是什么?為什么會選擇后者?函數isinstance()與這有什么關系?

前者比較的是對象的值,而后者比較的是對象本身。 可以用isinstance來代替。

4–8. 列表和元組。列表和元組的相同點是什么?不同點是什么?

元祖就是不能更改的列表。

4–9. 練習,給定以下賦值:

a = 10

b = 10

c = 100

d = 100

e = 10.0

f = 10.0

請問下面各表達式的輸出是什么?為什么?

(a) a is b

(b) c is d

(c) e is f

我個人猜測是:True, True, False,可惜被我猜中了。因為小整型不會新建一個對象嘛,而float則一定會。

總結

以上是生活随笔為你收集整理的python核心教程_python核心教程--第四章的全部內容,希望文章能夠幫你解決所遇到的問題。

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