python獲取物件資訊和例項屬性和類屬性

2021-10-11 04:30:02 字數 1325 閱讀 1675

首先,我們來判斷物件型別,使用type()函式:

基本型別都可以用type()判斷:

對於class的繼承關係來說,使用type()就很不方便。我們要判斷class的型別,可以使用isinstance()函式。

如果要獲得乙個物件的所有屬性和方法,可以使用dir()函式,它返回乙個包含字串的list。

小結

通過內建的一系列函式,我們可以對任意乙個python物件進行剖析,拿到其內部的資料。要注意的是,只有在不知道物件資訊的時候,我們才會去獲取物件資訊。

例項屬性和類屬性

由於python是動態語言,根據類建立的例項可以任意繫結屬性。

給例項繫結屬性的方法是通過例項變數,或者通過self變數:

class

student

(object)

: def __init__

(self, name)

: self.name = name

s =student

('bob'

)s.score =

90

為了統計學生人數,可以給student類增加乙個類屬性,每建立乙個例項,該屬性自動增加:

class

student

(object)

: count =

0 def __init__

(self, name)

: self.name = name

student.count = student.count +

1if student.count !=0:

print

('測試失敗!'

)else

: bart =

student

('bart'

)if student.count !=1:

print

('測試失敗!'

)else

: lisa =

student

('bart'

)if student.count !=2:

print

('測試失敗!'

)else

:print

('students:'

, student.count)

print

('測試通過!'

python 獲取物件資訊

判斷物件型別,使用type 函式 判斷乙個物件是否是函式 使用types模組中定義的常量 import types type abs types.builtinfunctiontype true type lambda x x types.lambdatype true type x for x i...

python中獲取物件資訊

拿到乙個變數,除了用isinstance 判斷它是否是某種型別的例項外,還有沒有別的方法獲取到更多的資訊呢?例如,已有定義 class person object def init self,name,gender self.name name self.gender gender class st...

筆記 python獲取物件資訊

拿到乙個物件的引用時,如何知道這個物件是什麼型別 有哪些方法?目錄 type isinstance dir type 函式返回對應的class型別。判斷乙個物件是否是函式用types模組中的各種型別作對比。import types def fn pass type fn types.function...