Python基礎 13 物件導向及異常處理

2022-08-20 16:27:13 字數 2229 閱讀 6900

算術運算子過載

class

number:

def__init__

(self, num):

self.num =num

#物件出現在'+'左邊時會自動觸發

def__add__

(self, other):

print('

__add__')

return self.num +other

#物件出現在'+'右邊是會自動觸發

def__radd__

(self, other):

print('

__radd__')

return self.num +other

#+=運算時會自動觸發,沒有時會觸發 __add__

def__iadd__

(self, other):

print('

__iadd__')

return number(self.num +other)

n = number(100)

ret = n + 200ret = 200 +n

print

(ret)

n += 200 #

n = n + 200

print(n)

加法:__add__、__radd__、__iadd__

減法:__sub__、__rsub__、__isub__

乘法:__mul__、__rmul__、__imul__

除法:__truediv__、__rtruediv__、__itruediv__

求餘:__mod、__rmod__、__imod__

函式傳參

深淺拷貝

class

person:

def__del__

(self):

print('

物件釋放')

p1 =person()

p2 =p1

print

(id(p1))

print

(id(p2))

delp1

delp2

print('

over')

deftest(m):

#m += 1

m[0] = 300

#n = 100

n = [100, 200]

test(n)

print

(n)import

copy

lt = [1, 2, [3, 4]]

#淺拷貝,只拷貝物件本身,不拷貝物件中的元素

#lt2 = lt.copy()

#淺拷貝

lt2 =copy.copy(lt)

#深拷貝:不但拷貝物件本身,還拷貝物件中的元素

lt2 =copy.deepcopy(lt)

lt[0] = 100lt2 = 300

print

(id(lt))

print

(id(lt2))

print

(lt)

print(lt2)

異常處理

異常語法:

try

:

print('

正常**')

#print(a)

3/0except

exception as e:

#exception 是所有異常的基類,此處可以捕獲所有的異常

print('

出現異常')

print

(e)

print('

其他內容

')

#

fp = open('test.txt', 'r')

#中間無論有無異常,最後一定得關閉檔案

#fp.close()

with open(

'test.txt

', 'r'

) as fp:

content = fp.read(5)

print

(content)

#此處不要考慮檔案的關閉問題,也不用是否有異常

安裝工具:virtualenv

建立虛擬環境

啟用虛擬環境

退出虛擬環境

冷凍乙個環境依賴包

快速複製乙個虛擬環境

python基礎 13 物件導向2

定義乙個類物件,並將其實例化。對不同的例項物件,我們可以手動定義不同的屬性值 class person def speak self print 你好,我是 s self.name p1 person p2 person p3 person p1.name 鋼鐵俠 p2.name 蜘蛛俠 p1.sp...

python 基礎學習 13 物件導向一

3.類的定義 4.引數self 面向過程注重的是過程 1.媽媽穿衣服穿鞋出門 2.媽媽騎上電動車 3.媽媽到超市門口放好電動車 4.媽媽買西瓜 5.媽媽結賬 6.媽媽騎電動車回家 7.到家孩子吃西瓜 物件導向的程式語言,關注的是物件,而不注重過程,對於物件導向一切皆物件 物件導向注重的是結果 以上方...

物件導向1 3

類的結構之三 構造器 構造方法 constructor 的使用 一 構造器的作用 1.建立物件 2.初始化物件的屬性 封裝性的體現 1.將類中的屬性 私有化,通過public方法獲取get 和設定set 此屬性的值。2.不對外暴露的私有的方法。3.單例模式。將構造器私有化即在乙個類中通過構造器只建立...