Python 學習筆記12 類 - 建立和簡單使用

介紹:

面向對象編程是一種很是有效的軟件編寫方法之一,在面向對象編程中,咱們會編寫表示現實世界中的事物或者情景的類,並基於類來建立對象。python

在編寫類的的時候,這些類對象通常都有通用的行爲或者屬性。基於類建立對象時,每一個對象都自動具有這些屬性和行爲,而後給予須要給與這些對象一些特殊的屬性或者行爲。編程

咱們幾乎可使用面向對象的方式來模擬現實生活中的全部情景。函數

根據類來建立隊形被稱爲實例化,這讓你可以使用類的實例。spa

建立類:

咱們使用一個例子來講明怎麼建立一個類。code

咱們假設建立一個名叫dog的類,咱們知道狗狗通常會跑,叫,有些還會坐下,這些都是這個類的一些行爲,咱們也能夠定義它的一些屬性,好比名字和年齡。咱們能夠再代碼中這樣來實現這個類:對象

class Dog():
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def sit(self):
        print(self.name + " is sitting.")

    def run(self):
        print(self.name + " is running.")

    def bark(self):
        print(self.name + " is barking.")
        
        

 

在上面代碼中咱們能夠看到,咱們定義可一個dog類,在python的約定中,咱們通常用首字母大寫來表示類。blog

在定義好類的名字後,咱們看到Python使用__init__來初始化類對象,就像一個構造函數同樣。咱們能夠在這個函數方法中來初始化和定義咱們須要的一些變量(屬性),好比表示自身的self,表示名字的name,表示年齡的age。這些屬性一旦定義好後,能夠在類的方法中使用。當類被實例化成對象後,對象自動擁有這些屬性。it

這個類還被定義了一些方法,好比run,sit和bark,在這些方法中咱們也能夠看到,他能夠自動的調用name,age等參數,由於他們已是類的屬性。面向對象編程

 

使用類:

根據類,咱們能夠建立和實例化一個對象。咱們能夠把dog類看作是一個對象的說明,而實例化的過程,實際就是根聽說明建立一個對象的過程。class

class Dog():
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def sit(self):
        print(self.name + " is sitting.")

    def run(self):
        print(self.name + " is running.")

    def bark(self):
        print(self.name + " is barking.")



my_dog = Dog('WanCai', 5 )

 

咱們能夠看到,咱們使用code:my_dog = Dog('WanCai', 5 ) 來實例化了一個叫wancai, 6歲的名叫my-dog的對象。

一旦實例化了一個對象,咱們就能夠調用這個對象的屬性和方法:

my_dog = Dog('WanCai', 5 )
print(type(my_dog))
print("name is : " + my_dog.name)
print("age is : " + str(my_dog.age))
my_dog.sit()
my_dog.run()
my_dog.bark()

'''
輸出:
<class '__main__.Dog'>
name is : WanCai
age is : 5
WanCai is sitting.
WanCai is running.
WanCai is barking.
'''

 

一旦咱們定義好了類,咱們能夠根據實際的須要來建立多個實例:

my_dog = Dog('WangCai', 5 )
print(type(my_dog))
print("name is : " + my_dog.name)
print("age is : " + str(my_dog.age))
my_dog.sit()
my_dog.run()
my_dog.bark()

rachel_dog = Dog('LaiFu', 5 )
print(type(rachel_dog))
print("name is : " + rachel_dog.name)
print("age is : " + str(rachel_dog.age))
rachel_dog.sit()
rachel_dog.run()
rachel_dog.bark()

'''
輸出:
<class '__main__.Dog'>
name is : WangCai
age is : 5
WangCai is sitting.
WangCai is running.
WangCai is barking.
<class '__main__.Dog'>
name is : LaiFu
age is : 5
LaiFu is sitting.
LaiFu is running.
LaiFu is barking.
'''
相關文章
相關標籤/搜索