python之建立類的兩種方法
python裡,類是物件導向的基礎。
建立類第一種普遍方式可能都清楚,用class關鍵字:
#第一種方法建立類
class A(object):
def __init__(self, name):
self.name = name
f = A("lkk")
這樣就簡單完成了一個A類的建立,我們嘗試列印一下f的型別:
print(type(f)) #列印f的型別,結果是A(我們寫的class A)
結果為
我們不妨在列印一下A的型別:
print(type(A)) #不妨再列印一下A的型別,居然是type
會發現結果是:
總結一下:type就是類的類
類的類,也就是元類。元類就是用來建立類的“東西”。你建立類就是為了建立類的例項物件,不是嗎?Python中的類也是物件。元類就是用來建立這些類(物件)的,元類就是類的類。
於是第二種建立類的方法:type動態建立類
type有一個方法:type(類名,父類名,方法名(字典形式))用來動態建立類
三個引數具體內容:
- 第一個引數:要建立的class的名稱
- 第二個引數:繼承的父類集合,Python支援多重繼承,如果只有一個父類,寫(obj,);
- 第三個引數:class的方法名字典,字典內容為‘類裡面方法名稱’:‘寫好的函式名稱’,建立之後使用類方法名稱呼叫
舉個例子:
#第二種方法建立類
def func(self): #第一個方法
print('hello %s'%self.name)
def __init__(self,name,age): #初始化方法
self.name = name
self.age = age
#type('叫什麼的類','繼承誰','它裡面有哪些方法')
Foo = type('Foo', (object,), {'talk':func,
'__init__':__init__})
f = Foo('lkh','20')
f.talk()
print(type(Foo))
等同於:
class Foo(object):
def __init__(self, name, age):
self.name = name
self.age = age
def func(self):
print('hello %s' % self.name)
相關文章
- 兩種動態建立表格的方法
- Python建立類方法Python
- python建立類和類方法Python
- MySQL建立資料庫的兩種方法MySql資料庫
- 建立連結串列兩種方法的區別
- PostgreSQL建立自增主鍵的兩種方法SQL
- Java 建立 PDF 檔案包的兩種方法Java
- 用兩種方法把JSON資料格式轉換為Python的類物件JSONPython物件
- python生成requirements.txt的兩種方法PythonUIREM
- python中合併表格的兩種方法Python
- Python中類的建立和使用方法Python
- 建立Session物件的兩種方式Session物件
- Python保留兩位小數五種常用的方法!Python
- Python遍歷資料夾常用的兩種方法!Python
- Python 爬取網頁資料的兩種方法Python網頁
- Python併發程式設計之建立多執行緒的幾種方法(二)Python程式設計執行緒
- 建立Arkts的類,方法
- Hive 表的兩種分類Hive
- python兩種獲取剪貼簿內容的方法Python
- Python獲取list中指定元素索引的兩種方法Python索引
- Python中的__init__()方法整理中(兩種解釋)Python
- Java 建立類的四種方式Java
- 亂序的兩種方法
- Python中新增兩個數字的6種不同方法Python
- ubuntu建立使用者的兩種方式Ubuntu
- Python中動態類和動態方法的建立與呼叫Python
- iOS開發之tableView左滑刪除的兩種方法iOSView
- python 類 預設方法有兩個下劃線Python
- KVO監聽容器類(陣列,字典等)屬性的兩種方法陣列
- vue 跳轉的兩種方法Vue
- c語言 - 交換兩個變數(不建立臨時變數)兩種方法C語言變數
- JavaScript建立物件的多種方法JavaScript物件
- python如何動態的建立類?Python
- Python進階之物件導向(類的特殊方法)Python物件
- Python中建立DataFrame的方法Python
- python類中的方法Python
- Python unittest.TestLoader()類的幾種尋找testcase的方法的使用Python
- Python爬蟲的兩套解析方法和四種爬蟲實現Python爬蟲