python面向对象类_python面向对象-类和对象
一. 類的定義
class類名():
代碼
#定義類
classWasher():defwash(self):print("洗衣服")
注意:類名要滿足標識符命名規則,同時遵循大駝峰命名習慣。
二. 創建對象
對象名 = 類名()
#創建對象
w =Washer()#調用方法
w.wash() #洗衣服
三. self
self指的是調用該函數的對象。相當于java中的this
四. 給對象添加屬性
1.在類外面添加屬性
對象名.屬性名 = 值
#創建對象
w =Washer()#添加和設置屬性
w.width = 100w.heigth= 500
#獲取屬性的值
print(w.heigth) #500
print(w.width) #100
在類外面設置的屬性可在類方法上通過self獲取到:
#定義類
classWasher():defwash(self):print(self.height) #500
#創建對象
w =Washer()#添加和設置屬性
w.width = 100w.height= 500
#獲取屬性的值
print(w.height) #500
print(w.width) #100
w.wash()
五. 魔法方法
在Python中,`__xx__()`的函數(雙下劃線開頭和結尾的函數)叫做魔法方法,指的是具有特殊功能的函數。
1.?__init__() 初始化方法
1.1?__init__() 方法的作用
__init__()方法,在創建一個對象時默認被調用,不需要手動調用。`__init__(self)`中的self參數,不需要開發者傳遞,python解釋器會自動把當前的對象引用傳遞過去。
#定義類
classWasher():def __init__(self):
self.width= 100self.height= 500
#創建對象
w =Washer()#獲取屬性的值
print(w.height) #500
print(w.width) #100
1.2 帶參數的`__init__()`
`__init__()`可以傳遞參數,在創建對象時候傳入,如?`__init__(self, width, height)`
#定義類
classWasher():def __init__(self, width, height):
self.width=width
self.height=height#創建對象
w = Washer(100, 500)#獲取屬性的值
print(w.height) #500
print(w.width) #100
說明
1.?w = Washer(100, 500)中的100 和500 分別對應?__init__(self, width, height) 中的width 和height, 創建Washer對象時,自動調用__init__()并將這兩個值傳入完成對象初始化
2. 第一個參數默認為self,由解釋器自動傳入,創建對象時不傳
3. 通過self在類中可以定義需要的屬性, 如self.width = width 即是定義了一個width屬性
2 __str__() 方法
當使用print輸出對象的時候,默認打印對象的內存地址。如果類定義了`__str__`方法,那么就會打印從在這個方法中 return 的數據。
#定義類
classWasher():def __init__(self, width, height):
self.width=width
self.height=heightdef __str__(self):return f"這是一臺洗衣機。。。長{self.height}, 寬{self.width}"
#創建對象
w = Washer(100, 500)print(w) #這是一臺洗衣機。。。長500, 寬100
3 __del__()?方法的作用
當刪除對象時,python解釋器會默認調用`__del__()`方法。
#定義類
classWasher():def __init__(self, width, height):
self.width=width
self.height=heightdef __del__(self):print("這臺洗衣機要被刪除了") #刪除對象時執行
#創建對象
w = Washer(100, 500)#刪除對象
del w #這臺洗衣機要被刪除了
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python面向对象类_python面向对象-类和对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动补足算法是什么_如何自定义Shell
- 下一篇: python实现队列_Python学习教