摘要:是一個類型是一個的實例,那么他是一個類型。那么我們自定義類一直數據類型叫,包含了年齡性別各科成績等。我們自己將這一類數據歸納成一種數據類型叫做。在用創建類的時候,接收三個參數,要創建的類名要繼承的父類,用一個表示。
動態語言與靜態語言的最大的不同就是,函數和類的定義,不是在編譯的時候創建的,而是在運行的時候創建的。
例如我們寫了一個叫demo.py的模塊,在里面定義了一個類:
class Demo(object): pass
然后我們在另一個模塊helloword.py中引入了該模塊:
from demo import Demo class HelloWrold(object): pass
當我們執行helloworld.py時,import入Demo則會創建一個Demo類。
我們可以用type()函數類看看Demo是啥類型。
type(Demo) // Demo是一個type類型type(Demo()) //Demo()是一個Demo的實例,那么他是一個Demo類型。
我們定義的類的類型都是type類型,就跟python內置的類型int、float、string等一樣~~其實我們可以這么理解,int、float、string其實也是歸納了世界上上常見的數據類型,例如一類由一串文字組成的數據,我們就叫這種數據類型為string。 那么我們自定義類一直數據類型叫Student,包含了年齡、性別、各科成績等。我們自己將這一類數據歸納成一種數據類型叫做Student。 所以從這個較多來看,我們自己創建的一個類其實跟python定義的int、float啥的是一樣的~~ 上面扯了這么多類的概念,也知道了實例是根據類來創建,類是在運行過程中創建的。那么類又是這么來的呢?
類是用type()函數創建的。
type函數不是用來判斷類型的嗎?沒錯,type還可以用來創建類。
type(what, base=None, attrs=None)
python在用type創建類的時候,接收三個參數
what,要創建的類名
要繼承的父類,用一個tuple表示。
參數、方法,用一個字典表示
我們來舉一個例子:
def __init__(self, name): self.__name = name def print_name(self): print self.__name Student = type("Student", (object,), {"__init__": __init__, "print_name": print_name, "age": 25}) student = Student("Charlie") student.print_name() print student.age
上面的例子中,我們利用type創建了一個類,并可以根據這個類來創建一個實例。
我們平時用關鍵字class定義一個類,其實僅僅是定義了一個類。Python解釋器讀取到用class定義的類的時候,讀取了我在里面寫的屬性和方法,然后用type()創建了這個類。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38328.html
摘要:內置了多個函數用來獲取對象或者實例的信息,例如等。用來判斷對象類型。類型,已經定義了多個常量。類型的值與類似。更加推薦使用對中的對象類型進行判斷。與的區別可以閱讀了解更多。舉一個例子我們在中定義下列繼承關系定義繼承關系 python內置了多個函數用來獲取對象或者實例的信息,例如type,isinstance,dir等。 type() type()用來判斷對象類型。該函數既可以對pyth...
摘要:面向對象最重要的概念應該就是類和實例了。記得以前學習的時候,有一個比較簡單的例子來解釋類和實例。構造函數類中可以定義一個構造函數。構造函數的意思就是類在創建的時候會執行的函數。在實例中通過構造函數添加的或者在類外動態添加的屬性可以。 面向對象最重要的概念應該就是類(class)和實例(instance)了。記得以前學習java的時候,有一個比較簡單的例子來解釋類和實例。在汽車制造過程中...
摘要:編程從入門到實踐筆記。執行命令后,項目的根目錄下會多出一個名為的數據庫文件。下面創建一個主題類用戶學習的主題返回模型的字符串表示類是中的一個定義了模型基本功能的類。這種交互式環境稱為,常用語測試項目和排除故障。 《Python編程:從入門到實踐》筆記。從本篇開始將是該書的最后一個項目,將用3篇文章來介紹Django的基礎。完成一個學習筆記的小網站。 1. 前言 在本篇中,我們將: 用...
摘要:繼承的優缺點推出繼承的初衷是讓新手順利使用只有專家才能設計出來的框架。多重繼承的真實應用多重繼承能發揮積極作用。即便是單繼承,這個原則也能提升靈活性,因為子類化是一種緊耦合,而且較高的繼承樹容易倒。 繼承的優缺點 推出繼承的初衷是讓新手順利使用只有專家才能設計出來的框架。——Alan Kay 子類化內置類型很麻煩 (如 list 或 dict)) ,別搞這種 直接子類化內置類型(如 ...
閱讀 732·2021-08-17 10:11
閱讀 1599·2019-08-30 11:15
閱讀 1022·2019-08-26 13:54
閱讀 3509·2019-08-26 11:47
閱讀 1220·2019-08-26 10:20
閱讀 2822·2019-08-23 18:35
閱讀 1217·2019-08-23 17:52
閱讀 1300·2019-08-23 16:19