注意:1、這是不嚴格判斷,因為乙個類被認為是自身的子類
2、classinfo 可以是類物件組成的元組,只要class是其中任何乙個候選的子類則返回ture
3、在其他情況下丟擲typeerror的錯誤
classa:
def__init__
(self):
print('
我是a類')
class
b(a):
def__init__
(self):
print('
我是b類繼承a')
class
c(b):
def__init__
(self):
print('
我是c類繼承b')
>>>issubclass(c,a)
true
>>>issubclass(c,b)
true
>>>issubclass(a,a)
true
>>> issubclass(a,object)#
所有類的父類都是object
true
>>>issubclass(a,c)
false
>>>issubclass(c,(a,b))
true
>>>
注意:1、如果第乙個引數不是物件則永遠返回false
2、如果第二個引數不是類或者由類物件組成的元組,會丟擲乙個typeerror的異常
classa:
def__init__
(self):
print('
我是a類')
class
b(a):
def__init__
(self):
print('
我是b類繼承a')
class
c:
def__init__
(self):
print('
我是c類')
>>> a=a()
我是a類
>>>isinstance(a,a)
true
>>>isinstance(a,(c,a))
true
>>>isinstance(b,(c,a))
false
>>>isinstance(b,a)
traceback (most recent call last):
file
"", line 1, in
isinstance(b,a)
typeerror: isinstance() arg 2 must be a type or tuple of types
注意:name要用單引號『』括起來
classa: size=10
def__init__
(self):
print('
我是a類')
>>> hasattr(a,'
size')
true
注意:當物件無該屬性時如果default沒賦值則會報錯,如果賦值則返回default的值
classa: size=10
def__init__
(self):
print('
我是a類')
>>> getattr(a,'
lenth
','不存在該屬性')
'不存在該屬性
'
新建
1、直接物件.屬性 新建屬性
2.setattr(object,name,value)#name加單引號
刪除
delattr(類物件,name)
對類物件的屬性的刪除會影響到由該類所產生的例項物件,而不能用delattr(例項物件,name)來刪除屬性
classa: size=10
def__init__
(self):
print('
我是a類')
>>> a=a()
我是a類
>>>a.size
10>>> a.y=1
>>>a.y
1>>>a.size
10>>>a.y
traceback (most recent call last):
file
"", line 1, in
a.yattributeerror: type object 'a
' has no attribute 'y'
>>> a.u=0
>>>a.u
0>>> delattr(a,'u'
)>>>a.u
traceback (most recent call last):
file
"", line 1, in
a.uattributeerror: 'a
' object has no attribute '
u'
引用小甲魚:
classc:
def__init__(self, size=10):
self.size =size
defgetxsize(self):
return
self.size
defsetxsize(self, value):
self.size =value
defdelxsize(self):
delself.size
x.property(getxsize,setxsize,delxsize)
>>>c.x
10>>> c.x = 12
>>>c.x12#
使用函式修飾符
class
c:
def__init__(self, size=10):
self.size =size
@property
defx(self):
return
self.size
@x.setter
defx(self, value):
self.size =value
@x.deleter
defx(self):
del self.size
python3類和物件
類的定義和例項化 python定義簡單類如下。class car object pass c1 car 我們定義了乙個car類,其中什麼方法也沒有實現。c1是我們實力化的類 car,成為了乙個物件 可變引數 列表,字典,set 不可變引數 string,number,元組 全域性變數 宣告在函式外,...
Python3 類和物件 繼承
class derivedclassname baseclassname 子類 父類 如果子類中定義與父類同名的方法或屬性,則會自動覆蓋父類對應的方法或屬性,父類中的方法不受影響 1 呼叫未繫結的父類方法 class a def init self print 進入a print 離開a class...
Python3 物件導向程式設計(類和物件)
今天想和大家聊聊物件導向中的類和物件,其實一開始我學的雲裡霧裡,借鑑了乙個我以前看到過的解釋,希望可以用大家容易理解的方式來說道說道。生活中每乙個具體的東西都可以被認為是物件,例如華為p40 小公尺10 蘋果11 oppo等手機,你可以認為這些物體是 物件 雖然他們各不相同 各有特色,但是都可以歸結...