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