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