新聞中心
python里,類(lèi)是面向?qū)ο蟮幕A(chǔ)。

成都創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),宜君網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:宜君等地區(qū)。宜君做網(wǎng)站價(jià)格咨詢:13518219792
第一種創(chuàng)建類(lèi)的方法:class關(guān)鍵字
#第一種方法創(chuàng)建類(lèi)
class A(object):
def __init__(self, name):
self.name = name
f = A("lkk")這樣就簡(jiǎn)單完成了一個(gè)A類(lèi)的創(chuàng)建,我們嘗試打印一下f的類(lèi)型:
print(type(f)) #打印f的類(lèi)型,結(jié)果是A(我們寫(xiě)的class A)
結(jié)果為:
相關(guān)推薦:《Python培訓(xùn)視頻》
我們不妨在打印一下A的類(lèi)型:
print(type(A)) #不妨再打印一下A的類(lèi)型,居然是type
會(huì)發(fā)現(xiàn)結(jié)果是:
總結(jié)一下:type就是類(lèi)的類(lèi)
類(lèi)的類(lèi),也就是元類(lèi)。元類(lèi)就是用來(lái)創(chuàng)建類(lèi)的“東西”。你創(chuàng)建類(lèi)就是為了創(chuàng)建類(lèi)的實(shí)例對(duì)象,不是嗎?Python中的類(lèi)也是對(duì)象。元類(lèi)就是用來(lái)創(chuàng)建這些類(lèi)(對(duì)象)的,元類(lèi)就是類(lèi)的類(lèi)。
第二種創(chuàng)建類(lèi)的方法:type動(dòng)態(tài)創(chuàng)建類(lèi)
type有一個(gè)方法:type(類(lèi)名,父類(lèi)名,方法名(字典形式))用來(lái)動(dòng)態(tài)創(chuàng)建類(lèi)
三個(gè)參數(shù)具體內(nèi)容:
·第一個(gè)參數(shù):要?jiǎng)?chuàng)建的class的名稱;
·第二個(gè)參數(shù):繼承的父類(lèi)集合,Python支持多重繼承,如果只有一個(gè)父類(lèi),寫(xiě)(obj,);
·第三個(gè)參數(shù):class的方法名字典,字典內(nèi)容為‘類(lèi)里面方法名稱’:‘寫(xiě)好的函數(shù)名稱’,創(chuàng)建之后使用類(lèi)方法名稱調(diào)用。
舉個(gè)例子:
#第二種方法創(chuàng)建類(lèi)
def func(self): #第一個(gè)方法
print('hello %s'%self.name)
def __init__(self,name,age): #初始化方法
self.name = name
self.age = age
#type('叫什么的類(lèi)','繼承誰(shuí)','它里面有哪些方法')
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) 本文題目:創(chuàng)新互聯(lián)Python教程:python如何創(chuàng)建類(lèi)
標(biāo)題URL:http://m.5511xx.com/article/coghdod.html


咨詢
建站咨詢
