多型
這大致意味著即便你不知道變數指向的是哪種物件,也能夠對其執行操作,且操作的行為將隨物件所屬的型別(類)而異。
封裝
封裝(encapsulation)指的是向外部隱藏不必要的細節。
每個物件都屬於特定的類,並被稱為該類的例項。例如,如果你在窗外看到乙隻鳥,這只鳥就是「鳥類」的乙個例項。鳥類是乙個非常通用(抽象)的類。
建立自定義類
被呼叫時會被第乙個傳入的引數就是self
class person:
def set_name(self, name):
self.name = name
def get_name(self):
return self.name
def greet(self):
print("hello, world! i'm {}.".format(self.name))
類的命名空間
下面兩條語句大致等價:
def foo(x): return x * x
foo = lambda x: x * x
在 class 語句中定義的**都是在乙個特殊的命名空間(類的命名空間)內執行的,而類的所有成員都可訪問這個命名空間。
繼承
要確定乙個類是否是另乙個類的子類,可使用內建方法 issubclass 。
>>> issubclass(spamfilter, filter)
true
>>> issubclass(filter, spamfilter)
false
抽象基類
python通過引入模組 abc 提供了官方解決方案。這個模組為所謂的抽象基類提供了支援。一般而言,抽象類是不能(至少是不應該)例項化的類,其職責是定義子類應實
現的一組抽象方法。下面是乙個簡單的示例:
from abc import abc, abstractmethod
class talker(abc):
@abstractmethod #
def talk(self):
pass
形如 @this 的東西被稱為裝飾器,其用法將在第9章詳細介紹。 python第七章 python教程(第七章)
字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...
第七章 函式
1.ansi c 允許函式原型的使用,函式宣告提供給編譯器和之後的呼叫函式返回值型別,引數型別和數量的資訊,而k c用單獨的列表給出引數的型別,編譯器只記住函式的返回值型別,但不儲存函式的引數數量和型別 2.沒有return語句的函式,隱式的返回 3.函式的原型可以單獨放於乙個標頭檔案中,一定要具有...
第七章 函式
樂趣在於發現。程式設計最大的樂趣在於編寫自己的函式 使用c 函式步驟 1.函式定義 2.函式原型 3.呼叫函式 函式分為兩類 有返回值和沒有返回值的函式。void函式表示沒有返回值 void funcitonname parameterlist include using namespace std...