主頁 > 知識庫 > Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)

Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)

熱門標簽:銀川電話機器人電話 企業(yè)彩鈴地圖標注 如何地圖標注公司 長春極信防封電銷卡批發(fā) 外賣地址有什么地圖標注 上海正規(guī)的外呼系統(tǒng)最新報價 煙臺電話外呼營銷系統(tǒng) 電銷機器人錄音要學(xué)習(xí)什么 預(yù)覽式外呼系統(tǒng)

Python內(nèi)置函數(shù)

1. classmethod、staticmethod、property 。

上述三個內(nèi)置函數(shù)在文章(Python進階——面向?qū)ο笾蓡T)的方法和屬性中已經(jīng)詳細介紹使用,可以返回瀏覽,具體地址:https://www.jb51.net/article/215871.htm

2. callable,是否可在后面加括號執(zhí)行。

 函數(shù)

def func():
    pass
 
print( callable(func) ) # True

class Foo(object):
    pass
 
print( callable(Foo) ) # True

類中具有__call__方法的對象

class Foo(object):
	pass
 
obj = Foo()
print( callable(obj) ) # False
class Foo(object):
 
    def __call__(self, *args, **kwargs):
        pass
    
obj = Foo()
print( callable(obj) ) # True

所以當你以后在見到下面的情況時,首先就要想到handler可以是:函數(shù)、類、具有call方法的對象 這三種,到底具體是什么,需要根據(jù)代碼的調(diào)用關(guān)系才能分析出來。

def do_something(handler):
    handler()

3. super,按照mro繼承關(guān)系向上找成員。

class Top(object):
    def message(self, num):
        print("Top.message", num)
        
class Base(Top):
    pass
 
class Foo(Base):
 
    def message(self, num):
        print("Foo.message", num)
        super().message(num + 100)
 
 
obj = Foo()
obj.message(1)
 
>>> Foo.message 1
>>> Top.message 101
class Base(object):
 
    def message(self, num):
        print("Base.message", num)
        super().message(1000)
 
 
class Bar(object):
 
    def message(self, num):
        print("Bar.message", num)
 
 
class Foo(Base, Bar):
    pass
 
 
obj = Foo()
obj.message(1)
 
>>> Base.message 1
>>> Bar.message 1000

應(yīng)用場景

假設(shè)有一個類,他原來已實現(xiàn)了某些功能,但我們想在他的基礎(chǔ)上再擴展點功能,重新寫一遍?比較麻煩,此時可以用super。

info = dict() # {}
info['name'] = "華青水上"
info["age"] = 18
 
value = info.get("age")
 
print(value)
class MyDict(dict):
 
    def get(self, k):
        print("自定義功能")
        return super().get(k)
 
 
info = MyDict()
info['name'] = "華青水上" # __setitem__
info["age"] = 18       # __setitem__
print(info)
 
value = info.get("age")
 
print(value)

4. type,獲取一個對象的類型。

v1 = "華青水上"
result = type(v1)
print(result) # class 'str'>
v2 = "華青水上"
print( type(v2) == str )  # True
 
v3 = [11, 22, 33] # list(...)
print( type(v3) == list )  # True
class Foo(object):
    pass
 
v4 = Foo()
 
print( type(v4) == Foo )  # True

5. isinstance,判斷對象是否是某個類或其子類的實例。

class Top(object):
    pass
 
 
class Base(Top):
    pass
 
 
class Foo(Base):
    pass
 
 
v1 = Foo()
 
print( isinstance(v1, Foo) )   # True,對象v1是Foo類的實例
print( isinstance(v1, Base) )  # True,對象v1的Base子類的實例。
print( isinstance(v1, Top) )   # True,對象v1的Top子類的實例。
class Animal(object):
    def run(self):
        pass
 
class Dog(Animal):
    pass
 
class Cat(Animal):
    pass
 
data_list = [
    "alex",
    Dog(),
    Cat(),
	"root"
]
 
for item in data_list:
    if type(item) == Cat:
        item.run()
    elif type(item) == Dog:
        item.run()
    else:
        pass
    
for item in data_list:
    if isinstance(item, Animal):
        item.run()
    else:
        pass

6. issubclass,判斷類是否是某個類的子孫類。

class Top(object):
    pass
 
 
class Base(Top):
    pass
 
 
class Foo(Base):
    pass
 
 
print(issubclass(Foo, Base))  # True
print(issubclass(Foo, Top))   # True

至此,關(guān)于面向?qū)ο蟮囊恍﹥?nèi)置函數(shù)已經(jīng)總結(jié)完畢,如有不當之處,歡迎指正!

到此這篇關(guān)于Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)的文章就介紹到這了,更多相關(guān)Python內(nèi)置函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python初學(xué)者必須掌握的25個內(nèi)置函數(shù)詳解
  • 10個使用Python必須知道的內(nèi)置函數(shù)
  • Python函數(shù)的作用域及內(nèi)置函數(shù)詳解
  • python內(nèi)置函數(shù)之slice案例詳解
  • Python 內(nèi)置函數(shù)速查表一覽
  • python高級內(nèi)置函數(shù)用法實例

標簽:潮州 宜昌 湖北 佳木斯 珠海 盤錦 西寧 上饒

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)》,本文關(guān)鍵詞  Python,面向,對,象之,內(nèi)置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章