python面向对象编程的语言_怎么使用python面向对象编程
怎么使用python面向?qū)ο缶幊?/p>
發(fā)布時(shí)間:2020-08-25 13:42:19
來源:億速云
閱讀:89
作者:Leah
本篇文章給大家分享的是有關(guān)怎么使用python面向?qū)ο缶幊?#xff0c;小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
類是面向?qū)ο蟪绦蛟O(shè)計(jì)的一部分。面向?qū)ο蟪绦蛟O(shè)計(jì)或者簡稱為 OOP 致力于創(chuàng)建可重用代碼塊稱之為類。當(dāng)你想在你的程序中使用類時(shí),你會(huì)從類中創(chuàng)建一個(gè)對象,這也是面向?qū)ο笠辉~的由來。Python 并不總是面向?qū)ο蟮?#xff0c;但是你會(huì)在你的項(xiàng)目中用到對象。為了理解類,你需要理解面向?qū)ο蟮囊恍┗A(chǔ)術(shù)語。
常用術(shù)語
class:類。類是代碼塊的主體,其中定義了建立的模型的屬性和行為。這個(gè)模型可以來自于真實(shí)世界,也可以是虛擬游戲等。
attribute:屬性。是一系列信息的集合。在類中,一個(gè)屬性通常是一個(gè)變量。
behavior:行為。行為是定義在類中,組成方法的部分。也即是定義在類中函數(shù)的一部分。
method:方法。類中的函數(shù),由 behavior 組成。
object:對象。對象是類的實(shí)例。一個(gè)對象中包含所有類中屬性的值。你可以為一個(gè)類創(chuàng)建任意數(shù)量的對象。
近距離觀察 Rocket 類
我們已經(jīng)了解到一些類的基本術(shù)語,讓我們回頭再分析一下上節(jié)提到的 Rocket 類。
__init__() 方法
定義一個(gè)初始代碼塊,如下所示:class?Rocket():
#?Rocket?simulates?a?rocket?ship?for?a?game,
#??or?a?physics?simulation.
def?__init__(self):
#?Each?rocket?has?an?(x,y)?position.
self.x?=?0
self.y?=?0
第一行展示了類是如何創(chuàng)建的。關(guān)鍵字 class 告訴 Python 準(zhǔn)備定義一個(gè)類。類名的命名規(guī)則和變量的相同,但是 Python 中有一個(gè)約定好的規(guī)則,類名必須是駝峰式的。也即每個(gè)單詞的開頭必須是大寫的,不允許下劃線的出現(xiàn)。類名后緊跟一對圓括號(hào),目前為止圓括號(hào)里都是空的,接下來的學(xué)習(xí)中,其中可能會(huì)包含一個(gè)類。這個(gè)類是新類基于的類。
前后都有兩個(gè)下劃線的函數(shù)是內(nèi)置在 Python 中的有特殊用途的函數(shù)。__init__() 函數(shù)就是一個(gè)特殊的函數(shù)。當(dāng)創(chuàng)建一個(gè)類的對象時(shí),它會(huì)自動(dòng)執(zhí)行。我們可以稱之為初始化函數(shù),在對象使用之前初始化一些必要的屬性。在這個(gè)例子中,__init__() 函數(shù)初始化了 x 和 y 屬性。
關(guān)鍵字 self 可能會(huì)有些難以理解。單詞 "self" 指向當(dāng)前的對象。當(dāng)你創(chuàng)建一個(gè)類時(shí),它可以訪問到類中的任意指定屬性。基本上,類中所有的函數(shù)都需要 self 對象作為第一個(gè)參數(shù),因此它們就可以訪問類中的屬性。
現(xiàn)在,讓我們看看類中的方法吧!
一個(gè)簡單的方法
下述代碼在 Rocket 類中定義了一個(gè)方法。class?Rocket():
#?Rocket?simulates?a?rocket?ship?for?a?game,
#??or?a?physics?simulation.
def?__init__(self):
#?Each?rocket?has?an?(x,y)?position.
self.x?=?0
self.y?=?0
def?move_up(self):
#?Increment?the?y-position?of?the?rocket.
self.y?+=?1
方法就是類中的函數(shù)。因此你可以在方法中做任何函數(shù)能做的事。
默認(rèn)情況下,每個(gè)函數(shù)都需要接受一個(gè)參數(shù):self 。它是對調(diào)用這個(gè)方法的對象的引用。self 參數(shù)能讓你訪問到調(diào)用對象的屬性。在這個(gè)例子中,self 用來訪問 Rocket 對象的 y 屬性。這個(gè)方法被調(diào)用一次,對象的 y 屬性就增加1。為了更近一步了解方法的運(yùn)行過程,仔細(xì)閱讀下述代碼,并觀察它們的輸出。class?Rocket():
#?Rocket?simulates?a?rocket?ship?for?a?game,
#??or?a?physics?simulation.
def?__init__(self):
#?Each?rocket?has?an?(x,y)?position.
self.x?=?0
self.y?=?0
def?move_up(self):
#?Increment?the?y-position?of?the?rocket.
self.y?+=?1
#?Create?a?Rocket?object,?and?have?it?start?to?move?up.
my_rocket?=?Rocket()
print("Rocket?altitude:",?my_rocket.y)
my_rocket.move_up()
print("Rocket?altitude:",?my_rocket.y)
創(chuàng)建多個(gè)對象
面向?qū)ο缶幊桃粋€(gè)重要目標(biāo)是創(chuàng)建可重用代碼。一旦你寫好了類,就能創(chuàng)建任意數(shù)量的對象。通常,類被放進(jìn)一個(gè)單獨(dú)的文件中,在需要的時(shí)候?qū)氤绦蛑小R虼四憧梢詣?chuàng)建一個(gè)類庫,在不同的程序中重復(fù)使用這些類。
在一個(gè)類上創(chuàng)建多個(gè)對象,示例如下:class??Rocket():
#?Rocket?simulates?a?rocket?ship?for?a?game,#?Rocket
#??or?a?physics?simulation.
def?__init__(self):
#?Each?rocket?has?an?(x,y)?position.
self.x?=?0
self.y?=?0
def?move_up(self):
#?Increment?the?y-position?of?the?rocket.
self.y?+=?1
#?Create?a?fleet?of?5?rockets,?and?store?them?in?a?list.
my_rockets?=?[]
for?x?in?range(0,5):
new_rocket?=?Rocket()
my_rockets.append(new_rocket)
#?Show?that?each?rocket?is?a?separate?object.
for?rocket?in?my_rockets:
print(rocket)
以上就是怎么使用python面向?qū)ο缶幊?#xff0c;小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
總結(jié)
以上是生活随笔為你收集整理的python面向对象编程的语言_怎么使用python面向对象编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北方入汛以来最强降雨来袭 预计局地会有大
- 下一篇: 【Python学习】 - Tensor