綁定,反射,內(nèi)置函數(shù)-創(chuàng)新互聯(lián)

#綁定方法:綁定給誰就應(yīng)該誰來調(diào)用,誰來調(diào)用就會(huì)把誰當(dāng)做第一個(gè)參數(shù)自動(dòng)傳入
import  setting   #配置文件為setting

class  mysql:
    def __init__(self,host,port):   #綁定到對(duì)象
        self.host=host
        self.port=port

    @classmethod     #綁定到類
    def from_conf(cls):
        return cls(setting.HOST,setting.PORT)

    @staticmethod  #不與類也不與對(duì)象綁定
    def creat_id():
        n=eroos
        return n

con=mysql.from_conf()
print(con.port,con.host)
com=mysql.creat_id()
print(com.create_id)

#反射  通過字符串來操作對(duì)象或者類的屬性 1.hasattr  2.setattr 3.getattr 4.delattr
class foo:
    def __init__(self,name):
        self.name=name

    def f1(self):
        print('f1')

obj=foo('abc')

#hasattr()  判斷
print(hasattr(obj,'name'))
print(hasattr(obj,'f1'))

#getattr  調(diào)用
if hasattr(obj,'f1'):
    f=getattr(obj,'f1')
    #print(f)   
    f()

#setattr()  修改
obj.x=1
setattr(obj,'x',2)
print(obj.__dict__)

#delattr 刪除
#del obj.name
delattr(obj,'name')
print(obj.__dict__)

class fprser:
    def __init__(self,host,port):  
       self.host=host
       self.port=port
       self.conn='xxx'
    def intera(self):
      while True:
           cmd=input('>>: ').strip()
           if not cmd:continue
           cmd_l=cmd.split() 
           print(cmd_l) 
           if hasattr(self,cmd_l[0]):
              func=getattr(self,cmd_l[0])
              func(cmd_l)

    def get(self,cmd_l):
        print('geting......',cmd_l)

    def put(self,cmd_l):
        print('puting...',cmd_l)

client=fprser('2.2.2.2',23)        
client.intera()

#內(nèi)置函數(shù)
isinstance() #判斷一個(gè)對(duì)象是不是某個(gè)類型的
l=list([])
print(isinstance(l,list))

issubclass() #判斷是不是某個(gè)的子類
class foo:
    pass
class bar(foo):
    pass
print(issubclass(bar,foo))

#__str__ #打印時(shí)觸發(fā),默認(rèn)打印內(nèi)存地址
class foo:
    def  __init__(self,name,age):  #初始化時(shí)觸發(fā)
        self.name=name
        self.age=age

    def __str__(self):  ##打印時(shí)觸發(fā)
        return <__main__,.......>  #可以修改打印自己需要的
conf=foo('abc',38)
print(conf)  #print(abc.__str__())

#__del__ 回收之后在打印del
class foo:
    def __del__(self):
        print('del....')

obj=foo()
print('123')

class foo:
    def __del__(self):
        print('del....')

obj = foo()
del obj
print('123')

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元競秀做網(wǎng)站,已為上家服務(wù),為競秀各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

當(dāng)前標(biāo)題:綁定,反射,內(nèi)置函數(shù)-創(chuàng)新互聯(lián)
標(biāo)題來源:http://muchs.cn/article40/hecho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、營銷型網(wǎng)站建設(shè)、做網(wǎng)站域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司