py 內建函式用法分析

2021-08-20 07:31:11 字數 1265 閱讀 4975

type()

type()函式本身是乙個類,有兩種呼叫方式

class

type(

object)

class

type(name, bases, dict)

class type(object)

傳入單個物件時,返回的是物件的型別,其作用跟object.__class__方法一樣。 但不建議用該函式檢測物件的型別,更推薦使用isinstance()來檢測物件型別。具體為什麼可以參考如下例子:

class

a: pass

class

b(a):

pass

isinstance(a(), a) # returns true

type(a()) == a # returns true

isinstance(b(), a) # returns true

type(b()) == a # returns false

對於子類,type函式就不太行了。如果需要更深入理解,請參看python判斷變數型別時,為什麼不推薦使用type()方法 這個問題下的回答。

class type(name, bases, dict)

傳入三個引數的時候,type返回乙個新的type物件。如

x = type('x', (object,), dict(a=1))

x.__name__ # return

'x'x.__bases__ # return (object,)

x.__dict__ # return 乙個字典,其中有一項為 'a': 1

也就是可以通過傳入名字,基類,字典來生成乙個新的type物件。由此反推可以發現,傳入乙個引數的話,不止是返回物件的型別,其實也是生成了乙個物件對應的type型別物件,也就是說

type

(object).__name__

type

(object).__bases__

type

(object).__dict__

都是存在的,分別返回物件的名字,基類,以及所有的dict. 從而,如果我們需要列印出來該物件對應的類的名字,就用type(object).__name__好啦。雖然其他地方沒看出來有啥卵用

Python內建函式用法

abs dict help min setattr all dir hex next slice any divmod id object sorted ascii enumerate input oct staticmethod bin eval int open str bool exec is...

python 列表內建函式用法分類

1.只操作而不返回值的函式 del 示例 m a b c del m 0 結論 也可以這麼說,del不是函式而是語句 輸出結果 1,2,3,4,5,6 none 2 insert 示例 m 1,2,3,4,5 在零位置插入乙個值0 b m.insert 0,0 print m print b 輸出結...

python常用內建函式用法精要

用乙個 大致總結一下所有的內建函式用法,如下 函式功能簡要說明 abs x 返回數字x的絕對值或複數x的模 all iterable 如果對於可迭代物件中所有元素x都等價於true,則返回true。對於空的迭代物件也可返回true。any iterable 只要可迭代物件iterable中存在元素x...