Python 入門之類的基礎語法(三)

2021-10-24 14:48:33 字數 2645 閱讀 1760

@r星校長

3關:繫結與方法呼叫

在 python 中,如果用例項去呼叫方法,這種限制就被稱為 python 中的繫結(binging)。沒有建立例項時,方法就是未繫結的。

呼叫繫結方法

在定義方法時,self總是作為第乙個引數傳遞的。self代表例項本身,self.變數代表呼叫此例項的變數,self.方法代表呼叫例項的方法。因為宣告方法時已經傳入self,所以在呼叫時self就不用明確傳入了,此時例項是隱含的。呼叫繫結方法的**如下:

class

bindexample

:def

bindmethod

(self)

:print

("繫結方法呼叫例項"

)be = bindexample(

)be.bindmethod(

)

呼叫非繫結方法當呼叫非繫結方法的時候,因為沒有建立例項,所以需要用類去呼叫方法。在呼叫的時候需要顯式地傳入乙個例項引數。例如:

class

bindexample

:def

bindmethod

(self)

:print

("非繫結方法呼叫例項"

)be = bindexample(

)bindexample.bindmethod(be)

東邊日出西邊雨,道是無晴卻有晴。程式設計要求本關的測試檔案給出了乙個類f\fractionsum,此類的作用是當輸入乙個數n,如果n為偶數,求1/2+1/4+...+1/n的和,如果輸入n為奇數,求1/1+1/3+...+1/n的和。

f\fractionsum中,定義了方法peven(self,n)用來求當n為偶數時的結果,定義了podd(self,n)用來求當n為奇數時的結果,定義了dcall(self,fp,n)方法來呼叫pevenpodd兩個方法,fp為方法名,最後返回計算結果。

本關的程式設計任務是補全f\fractionsum.py檔案中的建立例項與呼叫方法部分,具體要求如下:

填入建立f\fractionsum的例項fs的**;

填入呼叫f\fractionsumtest類中dcall方法的**,計算當n為偶數時計算的和;

填入呼叫f\fractionsumtest類中dcall方法的**,計算當n為奇數時計算的和。

import fractionsumtest

# 請在下面填入建立fractionsum的例項fs的**

########## begin ##########

fs = fractionsumtest.fractionsum(

)########## end ##########

n =int

(input()

)if n %2==

0:# 請在下面填入呼叫fractionsumtest類中dcall方法的**,計算當n為偶數時計算的和

########## begin ##########

sum= fs.peven(n)

########## end ##########

else

:# 請在下面填入呼叫fractionsumtest類中dcall方法的**,計算當n為奇數時計算的和

########## begin ##########

sum= fs.podd(n)

########## end ##########

print

(sum

)

預期輸入:

5預期輸出:

1.5333333333333332

預期輸入:

8預期輸出:

Python 入門之類的基礎語法(二)

r星校長 第2關 類的屬性與例項化 屬性就是對類和物件特徵的描述,外部以屬性來區分不同的類,類具有資料屬性和方法。而由類建立出來的例項 物件,具有它所屬的類的資料屬性和方法。例如,書本是乙個類,它具有作者 書名 出版社等資料屬性,它還具有銷售這乙個方法。python 核心程式設計 就是書本類的乙個物...

Python入門學習筆記之類的基礎語法

類中方法的型別 在python中,類的宣告是通過class關鍵字,第一行是class後面接著是類名,類名的開頭通常是大寫,類名後面接著是括號,括號中的內容表示這個類是從哪個繼承成來的,如果沒有合適的繼承類,就使用object類,object類是所有類都會繼承的基類,然後是冒號 第二行一般為類文件字串...

python入門基礎之 類

小白自用筆記,如有錯誤還請指正 類 屬性 方法 類的名稱開頭字母要大寫如 point emailclient。且沒有下劃線 屬性分為類屬性和例項屬性 簡單的說 類屬性 是在類中直接寫的屬性,例項屬性 指在類外重寫的屬性。方法相當於類中的函式 詳見以下示例 class point x 2 類屬性 y ...