1. 程式人生 > >python3面向物件(1)

python3面向物件(1)

1.定義類,例項化物件:

class Nanny(object):    #class 定義一個類名Nanny,這個類繼承了object
    def __init__(self,name,age):    #__init__初始化方法,在建立物件的時候自動呼叫,第一個引數是必須有的self指的是建立的物件,
        self.name = name
        self.age = age

    def cook(self):   #在類中的普通函式叫做方法;都有一個self引數;可以被建立的物件呼叫
        print("這是一個做飯的過程")

obj1 = Nanny("小紅",22)   #建立一個obj1物件,傳入引數;這個引數被傳入__init__初始化方法中
print(obj1.name)
print(obj1.age)
obj1.cook()  #呼叫類中的方法

 2類中的方法(普通方法(例項化方法),類方法,靜態方法)和 類屬性

class Nanny(object):
    Nanny_name = "this is Nanny name"   #這是一個類屬性,可以通過型別.呼叫
    def __init__(self,name,age):
        self.name = name
        self.age = age

    @classmethod #這是一個類方法;通過@classmethod 
    def cook1(cls):  #方法的引數是cls 代表的這個類
        print("我是一個類方法")

    @staticmethod   #這是一個靜態方法,通過@staticmethod
    def cook2():  #方法裡面可以沒有引數
        print("我是一個靜態方法:這是我的使用說明")

    def cook(self):
        print("這是一個做飯的過程")


obj1 = Nanny("小紅",22)
print(obj1.name)
print(obj1.age)
#方法的呼叫,例項化的物件可以呼叫類中的所有方法 obj1.cook() obj1.cook1() obj1.cook2() #但是類名只能呼叫靜態方法和類方法 Nanny.cook1() Nanny.cook2()