新聞中心
面向?qū)ο蠹夹g(shù)簡介

類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個(gè)對象所共有的屬性和方法。對象是類的實(shí)例。
類變量:類變量在整個(gè)實(shí)例化的對象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。
數(shù)據(jù)成員:類變量或者實(shí)例變量用于處理類及其實(shí)例對象的相關(guān)的數(shù)據(jù)。
方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進(jìn)行改寫,這個(gè)過程叫方法的覆蓋(override),也稱為方法的重寫。
局部變量:定義在方法中的變量,只作用于當(dāng)前實(shí)例的類。
實(shí)例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實(shí)例變量,是在類聲明的內(nèi)部但是在類的其他成員方法之外聲明的。
繼承:即一個(gè)派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個(gè)派生類的對象作為一個(gè)基類對象對待。例如,有這樣一個(gè)設(shè)計(jì):一個(gè)Dog類型的對象派生自Animal類,這是模擬"是一個(gè)(is-a)"關(guān)系(例圖,Dog是一個(gè)Animal)。
實(shí)例化:創(chuàng)建一個(gè)類的實(shí)例,類的具體對象。
方法:類中定義的函數(shù)。
對象:通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對象包括兩個(gè)數(shù)據(jù)成員(類變量和實(shí)例變量)和方法。
和其它編程語言相比,Python 在盡可能不增加新的語法和語義的情況下加入了類機(jī)制。
Python中的類提供了面向?qū)ο缶幊痰乃谢竟δ埽侯惖睦^承機(jī)制允許多個(gè)基類,派生類可以覆蓋基類中的任何方法,方法中可以調(diào)用基類中的同名方法。
對象可以包含任意數(shù)量和類型的數(shù)據(jù)。
類定義
語法格式如下:
class ClassName:. . .
類實(shí)例化后,可以使用其屬性,實(shí)際上,創(chuàng)建一個(gè)類之后,可以通過類名訪問其屬性。
類對象
類對象支持兩種操作:屬性引用和實(shí)例化。
屬性引用使用和 Python 中所有的屬性引用一樣的標(biāo)準(zhǔn)語法:obj.name。
類對象創(chuàng)建后,類命名空間中所有的命名都是有效屬性名。所以如果類定義是這樣:
#!/usr/bin/python3
class MyClass:
"""一個(gè)簡單的類實(shí)例"""
i = 12345
def f(self):
return 'hello world'
# 實(shí)例化類
x = MyClass()
# 訪問類的屬性和方法
print("MyClass 類的屬性 i 為:", x.i)
print("MyClass 類的方法 f 輸出為:", x.f())實(shí)例化類:
# 實(shí)例化類 x = MyClass() # 訪問類的屬性和方法
以上創(chuàng)建了一個(gè)新的類實(shí)例并將該對象賦給局部變量 x,x 為空的對象。
執(zhí)行以上程序輸出結(jié)果為:
MyClass 類的屬性 i 為: 12345 MyClass 類的方法 f 輸出為: hello world
很多類都傾向于將對象創(chuàng)建為有初始狀態(tài)的。因此類可能會定義一個(gè)名為 __init__() 的特殊方法(構(gòu)造方法),像下面這樣:
def __init__(self): self.data = []
類定義了 __init__() 方法的話,類的實(shí)例化操作會自動(dòng)調(diào)用 __init__() 方法。所以在下例中,可以這樣創(chuàng)建一個(gè)新的實(shí)例:
x = MyClass()
當(dāng)然, __init__() 方法可以有參數(shù),參數(shù)通過 __init__() 傳遞到類的實(shí)例化操作上。例如:
>>> class Complex: ... def __init__(self, realpart, imagpart): ... self.r = realpart ... self.i = imagpart ... >>> x = Complex(3.0, -4.5) >>> x.r, x.i (3.0, -4.5)
當(dāng)前名稱:創(chuàng)新互聯(lián)Python教程:Python3面向?qū)ο?
標(biāo)題路徑:http://m.fisionsoft.com.cn/article/dhdoijh.html


咨詢
建站咨詢
