Python初級第16課 多型(唯讀課堂)

2021-10-10 01:25:13 字數 2073 閱讀 5801

歡迎來到「唯讀課堂」!

in [1]:

#這節課要給大家講的是乙個叫「多型」的東西。
多型:根據資料的型別執行不同的操作

實現多型:在物件導向中實現多型,通過對子類重寫父類中已有函式

in [2]:

class a:

def func(self):

print("this is a")

in [3]:

class b(a):

def func(self):

print("this is b")

in [4]:

#覆蓋了父類的內容,我們將使用我們自己的
in [5]:

a = a()

b = b()

in [6]:

a.func()
this is a
in [7]:

b.func()
this is b
in [8]:

#下面我們來**它們之前究竟有怎樣的關係
in [9]:

#a 屬於 a

#b 屬於 b

# b 繼承 a

in [10]:

#接下來我們要判斷:
in [11]:

print(isinstance(a,a))
true
in [12]:

#這裡證明我們的a類是從a那裡拿過來的。
in [13]:

print(isinstance(a,a))

print(isinstance(b,b))

print(isinstance(b,a))

true

true

true

in [14]:

#你會發現,b竟然也屬於a
in [15]:

#關係式:a->b->b
in [16]:

print(isinstance(b,a))

print(isinstance(a,b))

true

false

in [17]:

#這裡說明,我們的b的輩分並沒有a高。
in [18]:

def myfunc(var):

var.func()

in [19]:

myfunc(a)

myfunc(b)

this is a

this is b

in [20]:

#這是根據你傳進來的物件的不同,進行傳遞的不同的結果。這也是多型。
in [21]:

#如果這樣呢:
in [22]:

myfunc(a)

myfunc(b)

this is a

this is b

in [23]:

#可以這樣來說:print(isinstance(例項,類))
in [24]:

#這個就是我們實現多型的一種方式
in [25]:

#但是我們在python中用得並不多。
本次唯讀課堂的python教程就到這了,歡迎下一次的收看!

python初級專案課(二)

裝飾器就是想給現有的模組加上一些小裝飾 一些小功能,這些小功能可能好多模組都會用到 但又不讓這個小裝飾 小功能 侵入到原有的模組中的 裡去參考 1.廖雪峰的python教程中裝飾器部分 1 2.python裝飾器學習 九步入門 2 def dosomething func def print cal...

C 的第16節課

主講 建立windows窗體 主要內容 如何建立windows窗體 定製窗體的外觀。將控制項加入到windows窗 體中 使用文字框,標籤等 通過設定控制項的屬性定製其外觀 將事件和控制項stem關聯起來 16.1使用windows窗體 16.3定製 窗體的外觀,前乙個程式清單包含乙個基本窗體,於f...

第16課 選擇最優執行計畫

postgresql 資料庫分別採用了動態規劃方法和遺傳演算法來選擇最優的執行計畫。動態規劃方法需要遍歷全部的解空間 有優化 它一定能夠獲得最優解,因此是我們首選的方法。遺傳演算法則只能嘗試從區域性最優解向全域性最優解不斷逼近,但由於遺傳代際的數量的限制,最終可能產生的是區域性最優解。這種方法在表比...