您好,登錄后才能下訂單哦!
這篇文章主要介紹一篇文章教會你什么是Python中的類,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
類
面向對象編程是最有效的軟件編寫方法之一。在面向對象編程中,你編寫表示現實世界中的事物和情景的類,并基于這些類來創建對象。編寫類時,你定義一大類對象都有的通用行為。基于類創建對象時,每個對象都自動具備這種通用行為,然后可根據需要賦予每個對象獨特的個性。
創建和使用類
創建Dog類
根據約定,在Python中,首字母大寫的名稱指的是類。 這個類定義中的括號是空的,因為我們要從空白創建這個類。類中的函數稱為方法。
代碼如下:
class dog(): # 創建一個小狗的類 def _init_(self,name,age): # 初始化屬性name和age self.name = name self.age = age def sit(self): # 模擬小狗被命令時蹲下 print(self.name.title() + " is now sitting !") def roll_over(self): # 打滾 print(self.name.title() + " rolled over!")
__init__方法
__init__()是一個特殊的方法,每當你根據Dog類創建新實例時,Python都會自動運行它。在這個方法的名稱中,開頭和末尾各有兩個下劃線,這是一種約定,旨在避免Python默認方法與普通方法發生名稱沖突。它包含了三個形參:self、name和age,在這個方法的定義中,形 參self必不可少,還必須位于其他形參的前面。
根據類創建實例
可將類視為有關如何創建實例的說明。
代碼示例:
my_dog = Dog('demo',18) print(my_dog.name.title()) print(my_dog.age)
訪問屬性
要訪問實例的屬性,可使用句點表示法。例如my_dog.name
調用方法
要調用方法,可指定實例的名稱和要調用的方法,并用句點分隔它們。
代碼示例:
my_dog = Dog('demo', 6) my_dog.sit() my_dog.roll_over()
創建多個實例
my_dog = Dog('demo', 6) you_dog = Dog('demo_go', 6)
使用類和實例
類編寫好后,你的大部分時間都將花在使用根據類創建的實例上。你需要執行的一個重要任務是修改實例的屬性。你可以直接修改實例的屬性,也可以編寫方法以特定的方式進行修改。
Car類
class Car(): # Car類 def __init__(self,name,model,year): # 初始化 self.name = name self.model = model self.year = year def get_descript(self): # 返回描述信息 long_name = str(self.year) + '---' + self.name + '---' + self.model return long_name.title() # 示例化 my_car = Car('audi','A4','2016') print(my_car.get_descript())
處理的結果是:
2016---Audi---A4
給屬性設置默認值
類中的每個屬性都必須有初始值,哪怕這個值是0或空字符串。在有些情況下,如設置默認值時,在方法__init__()內指定這種初始值是可行的;如果你對某個屬性這樣做了,就無需包含為它提供初始值的形參。
在car類在__init__的方法新增屬性self.odometer_reading = 0,同時新增一個方法read_odometer():
def read_odometer(self): # 打印一條指出汽車里程的消息 print("汽車的里程有:" + str(self.odometer_reading))
調用該方法:
my_car = Car('audi','A4','2016') print(my_car.get_descript()) my_car.read_odometer()
修改屬性的值
可以以三種不同的方式修改屬性的值:直接通過實例進行修改;通過方法進行設置;通過方法進行遞增(增加特定的值)。
直接修改屬性的值
代碼如下:
my_new_car.odometer_reading = 23 my_new_car.read_odometer()
有時候需要像這樣直接訪問屬性,但其他時候需要編寫對屬性進行更新的方法。
通過方法修改屬性的值
在Car類新增一個update_odometer()的方法,專門用來修改屬性的值。
代碼如下:
def update_odometer(self,update_value): # 修改里程值 self.odometer_reading = update_value
在調用的時候就很簡單了:
my_new_car.update_odometer(66) my_new_car.read_odometer()
通過方法對屬性的值進行遞增
遞增的邏輯其實很簡單,只有將之前的記錄保存并且和后面傳入的值進行相加操作即可。
代碼如下:
def update_odometer(self,update_value): # 修改里程值 self.odometer_reading += update_value
調用方法:
my_new_car.update_odometer(6) my_new_car.read_odometer() my_new_car.update_odometer(1) my_new_car.read_odometer()
以上是一篇文章教會你什么是Python中的類的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。