Python學習筆記Task11 魔法方法

2021-09-29 07:54:06 字數 868 閱讀 3393

魔法方法格式__init__

1.基本

init(self[,…])

new(cls[,…])

del(self)

str(self)

repr(self)

2.生成器

在 python 中,使用了 yield 的函式被稱為生成器(generator)。

跟普通函式不同的是,生成器是乙個返回迭代器的函式,只能用於迭代操作,更簡單點理解生成器就是乙個迭代器。

在呼叫生成器執行的過程中,每次遇到 yield 時函式會暫停並儲存當前所有的執行資訊,返回 yield 的值, 並在下一次執行 next() 方法時從當前位置繼續執行。呼叫乙個生成器函式,返回的是乙個迭代器物件。

迭代器迭代是 python 最強大的功能之一,是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。字串,列表或元組物件都可用於建立迭代器:

4.定製序列協議(protocols)與其它程式語言中的介面很相似,它規定你哪些方法必須要定義。然而,在 python 中的協議就顯得不那麼正式。事實上,在 python 中,協議更像是一種指南。容器型別的協議如果說你希望定製的容器是不可變的話,你只需要定義__len__()和__getitem()方法。如果你希望定製的容器是可變的話,除了__len()和__getitem__()方法,你還需要定義__setitem__()和__delitem()__兩個方法。編寫乙個不可改變的自定義列表,要求記錄列表中每個元素被訪問的次數。

python學習打卡 Task1

基礎知識 注釋模組 內建函式dir 及help pep8 在mac終端輸入python可進入cpython互動式直譯器,利用print函式向世界打招呼吧 print hello,world 執行結果 hello,world input函式用於接收使用者輸入,先將輸入儲存在變數中,然後列印這個變數 d...

菜鳥學習TASK1

鴿子部第一次task當然不能鴿掉,但是進度很迷,所以打算先對照task把概要大概寫下,然後把發展方案寫下,然後再一點點完善細節。task 了解c語言的幾大資料型別 包括陣列與字串 了解ascii碼和char型別的關係,有興趣的可以進一步了解unicode。基礎資料型別 整型 短整型short,整型i...

陣列學習task1

1.利用動態陣列解決資料存放問題 編寫一段 要求輸入乙個整數n,用動態陣列a來存放2 n之間所有5或7的倍數,輸出該陣列。托普利茨矩陣問題 如果乙個矩陣的每一方向由左上到右下的對角線上具有相同元素,那麼這個矩陣是托普利茨矩陣。給定乙個m x n的矩陣,當且僅當它是托普利茨矩陣時返回true。def ...