一些物件導向的補充和異常的知識

2021-10-10 22:36:14 字數 3227 閱讀 5479

classa(

object):

deftest

(self)

:print

('我是a'

)classb(

object):

deftest2

(self)

:print

('我是b'

)class

c(a,b)

:pass

# __bases__ 可以獲取當前所有類的父類 使用c.__bases__

print

(c.__bases__)

print

(b.__bases__)

print

(a.__bases__)

c = c(

)c.test(

)c.test2(

)

classa:

# 類屬性

count =

0def

__init__

(self)

:# 例項屬性

self.name =

'老子'

deftest

(self)

:print

('我是test方法......'

) @classmethod

deftest2

(cls)

:print

('我是test2方法,我是乙個類方法......'

) @staticmethod

deftest3()

:print

('我是test3方法,我是乙個靜態方法......'

)a = a(

)a.count =

123a.count =

456a.name =

'莊子'

print

(a.count, a.name, a.count)

a.test(

)a.test(a)

classa:

def__init__

(self, name)

: self._name = name

@property

defname

(self)

:return self._name

@name.setter

defname

(self, name)

: self._name = name

classb:

def__init__

(self, name)

: self._name = name

@property

defname

(self)

:return self._name

@name.setter

defname

(self, name)

: self._name = name

classc:

pass

a = a(

'老子'

)b = b(

'莊子'

)c = c(

)# 對於speak這個函式,只要物件中有name屬性,它就可以作為引數傳遞

# 這個函式並不會考慮物件的型別,只要有name屬性就可以,那麼這個現象就是乙個多型的體現

defspeak

(obj)

:print

('你好,我是%s'

% obj.name)

# speak(b)

# 在speak2中我們做了乙個型別檢查,也就是只有o是a型別的物件時,才可以正常使用

# 其他型別的物件無法使用該函式,這個函式就違反了多型

defspeak2

(o):

ifissubclass

(o, a)

:print

('你好,我是%s'

% o.name)

# try語句

# try:

# **(可能出現錯誤的語句)

# except:

# **(出現錯誤之後處理的方式)

# else:

# **(沒有出現錯誤時要執行的語句)

print

('嘿嘿'

)try

:print(10

/2)except

:print

('出錯了......'

)else

:print

('哈哈'

)print

('哈哈'

)

deffn(

):print

('hello fn'

)print(10

/0)def

fn2():

print

('hello fn2'

) fn(

)def

fn3():

print

('hello fn3'

) fn2(

)fn3(

)

print

('異常出現前'

)try

:print(10

/5)except exception as e:

print

('出現異常'

, e,

type

(e))

finally

:print

('是否出現異常該語句都會執行'

)print

('異常出現後'

)# try語句

try:

**塊(可能出現錯誤的語句)

except 異常型別 as 異常名:

**塊(出現錯誤以後的處理⽅式)

except 異常型別 as 異常名:

**塊(出現錯誤以後的處理⽅式)

except 異常型別 as 異常名:

**塊(出現錯誤以後的處理⽅式)..

..else

: **塊(沒出錯時要執⾏的語句)

finally

: **塊(是否出錯該**塊都會執⾏)

# try是必須的 else有沒有都可以

# except和finally⾄少有⼀個

物件導向的一些知識

oop object oriented programming 物件導向程式設計 00d object oriented design 物件導向設計 面向過程 就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步的實現。例如 把大象裝進冰箱裡去。第一步 將冰箱開啟 第二步 將大象放進冰箱 第...

Cookie補充的一些知識

cookie的有效期 cookie的maxage決定著cookie的有效期,單位為 second cookie中通過getmaxage 與setmaxage int maxage 讀寫maxage屬性。cookie cookie new cookie username helloweenvsfei ...

物件導向的一些基本知識

物件導向的目標是開發出能夠反映現實世界中某個特定片段的軟體 或者說是建模 能考慮到的屬性和行為越多,所建立的模型就越符合實際 抽象 過濾掉物件的一部分特性和操作,直到剩下所必須的屬性和操作 抽象對於建模者來說是重要的技術,必須要清楚什麼應該納入模型中,什麼因該捨去,然而這行建模的衡量標準是要對這個類...