欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 如何使用Python的類? 優勢有哪些?

如何使用Python的類? 優勢有哪些?

2020-07-30 15:05:32 | 來源:中培企業IT培訓網

Python是一種面向對象的高級語言,因此類對于Python非常重要。類是一個空間,在該空間中變量(屬性/方法)分別存儲。運算符' . '用于調用類的屬性和方法。類是事務類的抽象,它不是真的存在,它描述了事務的共性。在搜索類屬性時,python首先找到實例,然后在實例中找到屬性,當找不到時,它將在類內部進行搜索。那么如何使用Python的類? 優勢有哪些?下面讓我們一起來詳細了解一下吧。

  如何使用Python的類?

  1.在Python中,定義類是通過class關鍵字來實現的:

class Student(object):

Pass

class 后面緊接著是類名,即Student.類名通常采用單詞首字母大寫的形式命名,比如 StudentCore。

(object) 表示該類是從哪個類繼承來的。如果沒有合適的繼承類,則通常使用 object 類,這是所有類都會繼承的類。

  2.實例化一個類是通過在類名后面加小括號“()”來實現的:

pupil=Student ()

“小學生”是“學生”這個的一個實例。所謂實例,可以將其理解為類的化身。類不能被直接使用,只能先將其實例化,然后用實例代表類,進而調用類中的方法處理數據。那么實例是怎么代表類的呢?在定義類及其方法時,有一個參數叫self, 它就是串聯實例與類之間的關鍵參數,可以簡單地理解為“self=實例名”。

類的下面有屬性和方法。可以將屬性理解為靜態的數據,將方法理解為動態的處理函數。比如,在下面的代碼中定義了“學生”類,其中_ _init_ _是屬性,print_score 是方法。

#-*-coding:utf-8-*

Class Student (object) :

def _ _ init_ _ (self,name,score) :

self.name= name

self.score=score

def print_score (self) :

print ('%s: %s'% (self. _ _name,self. _ _acore) )

  3.實例化上面的類,然后分析Python 如何利用實例化類調用類中的方法。

完整的實例化類與調用過程如下:

pupil=student (name='lilei',score=99)

pupil.print_score ()

按照前面的說法,self=實例名,那么 pupil=Student (name='lilei',score=99) , 實例化類的第一步是執行 _ _init_ _ 語句,即 Student (self='pupil',name='lilei',score=99) , 則可知pupil.name='lilei',pupil.score=9.實例化類的第二步是執行 pupil.print_score () 語句,調用實例的方法就是調用類的方法,而這個方法是按照格式打印出

pupil.name:pupil.score,mlilei: 99。

  Python類優勢有哪些?

  1.類的訪問限制

所謂類的訪問限制,即在類的外部不能直接調用類中的數據。在 Python 中,在變量前加“_ _”可將變量置為私有變量,使其只能在類中被使用,不能被類之外的其他函數(方法)調用。下面代碼中的name 參數表示的就是私有變量。

#-*-coding:utf-8-*-

#_ _author_ _='大嬸N72’

class Student (object) :

def _ _init_ _(self,name,score) :

self._ _name= name

self.score= score

def print_score (self) :

print ('%s: %S'% (self._ _name,self._ _score) )

MeiMei=Student ('hello', 99)

print (MeiMei.score)

print (MeiMei. _ _name)

代碼的運行結果很好地佐證了加了“_ _”的參數是不能被調用的,沒加“_ _”的參數是可以直接被調用的,如下所示:

C:Python36python3. exe F:/Autotest_interface_demo/test. py

99

Traceback (most recent call last):

File "F:/Autotest interface demo/test.py”, line 12, in

print (MeiMei._name)

AttributeError: ' Student' object has no attribute'__name’

Process finished with exit code 1

  2.類的繼承

所謂“繼承”, 從字面上看很好理解:如果一個類繼承了另外一個類,則這個類就有了被繼承的類的所有方法和屬性。我們可以直接使用這些方法和屬性,無須再單獨寫。下面舉一個例子來解釋什么是繼承。類的基本定義如下:

# -*- coding:utf-8 -*-

# _ _author_ _=‘大嬸N72’

# 父類

class Parent (object) :

def print_self (self) :

return “我是父類”

# 子類繼承父類

class Student (Parent) :

def_ _init_ _ (self,name,score) :

self. _ _name= name

self.score=score

def print_score (self) :

print ('%s: %s'% (self. _ _name,self. _ _score) )

MeiMei=Student ('hello', 99)

print (MeiMei.score)

#直接在子類中使用父類的方法

print (MeiMei.print_self ()

在上面的例子中,子類 Student 繼承了父類 Parent.方法是在類名稱后面的小括號中加上父類的名稱。子類繼承了父類,則有了父類 Parent 的方法 print_self, 從而可以直接在自己的實例名中使用。

  3.類的多態

如果子類繼承了父類,但是又想改變父類的方法,則這時無須修改父類的方法,只需要在子類中添加相同的方法名就可以起到覆蓋的作用,這就是多態。

# -*- coding:utf-8 -*-

# _ _author_ _='大嬸N72'

#父類

class Parent (object) :

def print_self (self) :

return"我是父類"

#子類繼承父類

class Student (Parent) :

def _ _init_ _ (self,name,score) :

self. _ _name= name

self.score=score

def print_score (self) :

print ('%s: %S'% (self. _name,self. _ _score) )

def print_self (self) :

return"我是子類"

MeiMei=Student ('hello', 99)

print (MeiMei.score)

#子類的方法覆蓋父類方法

print (MeiMei.print_self () )

以上即是關于如何使用Python的類以及優勢有哪些的全部內容介紹,想了解更多關于Python的信息,請繼續關注中培偉業。

標簽: Python 軟件研發
主站蜘蛛池模板: 亚洲影视区 | 亚洲色成人一区二区三区小说 | 国产在线拍偷自揄拍无码 | 国产精品国产免费无码专区不卡 | 极品少妇XXXX | 亚洲AV永久无码天堂影院黑人 | 亚洲乱亚洲乱少妇无码 | 成人dy| 无码熟妇人妻AV影音先锋 | 成年美女黄网站色大全 | 日本 片 成人 在线观看 | 久久综合色8888 | 正在播放av| 无码韩国三级理论在线观看 | 国产亚洲日韩一区二区三区 | 黑人太大太长疼死我了 | 特级毛片www| 精品一区日韩 | 国产xxxx69真实实拍 | 色欲av伊人久久大香线蕉影院 | AV无码久久久久久不卡网站 | 日日拍夜夜嗷嗷叫国产 | 人澡人人弄人人人玩人 | 国产va免费精品观看 | 亚洲旡码A∨一区二区三区 内射老妇女BBWXOGOD | 2021乱码精品1区2区3区 | 理论片麻豆 | 337p欧美顶级日本大片 | 大地资源中文第3页 | 亚洲av无码日韩av无码伊甸园 | 日本精品一区二区三区在线视频 | 日本免费一区二区三区 | 国产精品亚洲精品久久挡不住 | 国产精品白浆无码流出 | GOGOGO高清免费看韩国 | 国产AV一区二区三区 | 伊人久久大香线蕉综合影院首页 | 久久久国产精品免费A片 | 性色av免费观看 | 又黄又粗又爽免费观看 | 日本精品久久中文字幕 |