a = [1,2]
b = [2,3]
c = (5,6)
d = "avd"
a.extend(b)
print(a)
a = [1,2]
a.extend(c)# extend()擴充套件方法
print(a)
a = [1,2]
a.extend(d)
print(a)
變數1.extend(變數2)函數表示擴充套件變數的值,將變數2中的值擴充套件到變數1中並且型別轉換成變數1的型別。
無返回值
# 執行結果如下
[1, 2, 2, 3]
[1, 2, 5, 6]
[1, 2, 'a', 'v', 'd']
class cat(object):
def info(self):
print('i am cat')
class dog(object):
def info(self):
print('i am dog')
class duck(object):
def info(self):
print('i am duck')
animal_list = [cat,dog,duck]
for animal in animal_list:
animal().info()
鴨子型別在執行之前cat都是在[cat,dog,duck]列表的裏面被當作是變數,當執行的時候,只有加上()呼叫info()才明確cat是一個類
i am cat
i am dog
i am duck
抽象基礎類別就是類裡定義了純虛成員函數的類,純虛擬函式只提供了介面,並沒有具體的實現,抽象基礎類別不能唄範例化(不能建立物件),通常是作爲基礎類別供子類繼承,子類中重寫虛擬函式,實現具體的介面。
抽象基礎類別就是定義各種方法而不做具體實現的類,任何繼承自抽象基礎類別的類必須實現這些方法,否則無法範例化。