Python物件導向

2021-09-25 05:26:48 字數 2988 閱讀 5072

python既支援函式式程式設計,也支援物件導向程式設計

python中的類使用class關鍵字宣告,方法使用def宣告。

構造方法__init__(self)用來構造物件,其中的self即指乙個引用,代表的是物件。

1、animal類

#建立乙個類

class animal:

#構造方法,傳入兩個引數

def __init__(self,name,age):

self.name=name

self.age=age

#類的方法

def show(self):

print("你的名字是,今年歲".format(self.name,self.age))

#例項化乙個類,建立乙個物件

dog=animal("tom",18)

dog.show()

你的名字是tom,今年18歲
2、普通方法、私有方法、靜態方法、類方法、成員變數、私有變數

1、普通方法:物件訪問

2、私有方法:兩個下劃線開頭,只能在類內部訪問

3、靜態方法:用 @staticmethod 裝飾的不帶 self 引數的方法叫做靜態方法,類的靜態方法可以沒有引數,類和物件訪問,不能和其他方法重名,不然會相互覆蓋,後面定義的會覆蓋前面的

4、 類方法:預設有個 cls 引數,可以被類和物件呼叫,需要加上 @classmethod 裝飾器。不能和其他方法重名,不然會相互覆蓋,後面定義的會覆蓋前面的

5、多繼承情況下:從左到右查詢方法,找到為止,不然就丟擲異常

#建立乙個類

class animal:

# 類變數

height="40cm"

#私有屬性

__***="female"

#構造方法,傳入引數

def __init__(self,name,age):

self.name=name

self.age=age

#類的普通方法,只能被物件呼叫

def show(self):

print("你的名字是,今年歲,身高,性別是".format(self.name,self.age,self.height,self.__***))

#內部呼叫

self.__display()

#私有方法

def __display(self):

print("這是我的私有方法,類的內部可以呼叫")

@classmethod

def hello(cls):

print("類方法,可以被類和物件訪問")

@staticmethod

def helloworld():

print("無引數靜態方法,使用類名呼叫")

#返回值

return "hello"

#例項化乙個類,建立乙個物件

dog=animal("tom",18)

dog.show()

#類變數

print(dog.height)

print(animal.height)

print(dog.name)

animal.hello()

animal.helloworld()

你的名字是tom,今年18歲,身高40cm,性別是female

這是我的私有方法,類的內部可以呼叫

40cm

40cm

tom類方法,可以被類和物件訪問

無引數靜態方法,使用類名呼叫

物件導向三大特點:繼承、封裝、多型。子類是可以繼承父類的公開屬性及方法的,並且python中是支援多繼承的。封裝提高了**的可重用性。多型讓**更加靈活。

對animal這個類我們刪減一點**,然後讓他做父類,來看乙個簡單的例子。

#建立乙個類

class animal:

# 類變數

height="40cm"

#私有屬性

__***="female"

#構造方法,傳入引數

def __init__(self,name,age):

self.name=name

self.age=age

#類的普通方法,只能被物件呼叫

def show(self):

print("你的名字是,今年歲,身高,性別是".format(self.name,self.age,self.height,self.__***))

#內部呼叫

#繼承這個animal

class cat(animal):

def __init__(self,name,age,color):

#animal.__init__(self,name,age)繼承構造方法

super(cat,self).__init__(name,age)

print(self.age)

#繼承方法

def yes(self):

super(cat,self).show()

self.ha()

def ha(self):

print("哈哈哈哈")

cat=cat("jack",10,"red")

cat.yes()

cat.show()

10

你的名字是jack,今年10歲,身高40cm,性別是female

哈哈哈哈

你的名字是jack,今年10歲,身高40cm,性別是female

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...