小學生學python(六)類與函式

2022-03-17 22:02:42 字數 2559 閱讀 6012

每個程式都有乙個入口函式,一般都是延續c語言的風格從mian函式開始,至於在呼叫main函式之前發生的事情,我們不用關心,編譯器幫我們做了。

在python語言中,直接用一條__name__ == '__main__'語句就可以拿到我們編寫程式的起點,如下:

if

__name__ == '

__main__':

print("

test

")

但是,如果不按照上面用__name__ == '__main__',直接寫函式

def

line_func(a, b):

deffunc(x):

return a*x +b

return func

執行發現沒執行到。如果這個檔案裡有直接寫語句,比如

def

line_func(a, b):

deffunc(x):

return a*x +b

return

func

line1 = line_func(2, 5)

print(line1(2))

執行時,就會從line1= 這一行開始了。

至於出現上面這種現象的原因,是有庫檔案_pydev_execfile.py引起的,在18行有這麼個語句

exec(compile(contents+"

\n", file, '

exec

'), glob, loc)

在乙個檔案,我們可以隨便寫處理業務的語句,比如求和

a=1b=2c=a+b

如果遇到很多地方要用求和,就可以把上面的語句封裝成乙個函式,那樣就可以一次實現,多處呼叫,看上去也會**簡潔。定義函式很簡單,使用def,後面跟個函式名稱,xiaomao,xiaogou都行,就像取名字一樣,最好使用能看函式名就知道函式幹啥的名字。比如:

def

add(a, b):

return a+b

c = add(1, 2)

print

(c)c = add(2, 2)

print(c)

那既然函式已經可以把我們的業務封裝起來了,要類來做啥呢?

類(class)是物件導向程式設計(oop,object-oriented programming)實現資訊封裝的基礎。類是一種使用者定義型別,也稱類型別。每個類包含資料說明和一組運算元據或傳遞訊息的函式。類的例項稱為物件。    類是對現實生活中一類具有共同特徵的事物的抽象。編寫類時,你可以定義一大類物件都有的通用行為。 基於類建立物件時,每個物件都自動具備這種通用行為,然後可根據需要賦予每個物件獨特的個性。

比如上面定義了乙個加法的函式,然後我們再定義一些減法函式,乘法函式,除法函式,冪函式,階乘函式等。這個時候我們就可以來定義乙個類,取名為演算法類

class

algorith():

defadd(self, a, b):

return a +b

defminus(self, a, b):

return a -b

#建立algorith的例項

my_algo =algorith()

print(my_algo.add(1,2))

my_algo可以呼叫類中的方法,如add,minus。當然也可以例項化多個物件,相互是獨立的。我們可以把乙個類 寫在乙個.py檔案,

在其他檔案中只要把這個檔案import進來就能呼叫了。

假如要寫乙個關於動物的程式,有貓,有狗。那麼可以定義乙個cat類,乙個dog。但貓是咪咪叫,狗是吠,

speak(叫)這個方法就有了不同的實現內容,放在不同類中取相同的方法名完全合法合規。但是在乙個檔案有兩個一樣的函式就會發生衝突,後面寫的會把前面

寫的覆蓋掉,so分別寫在不同類中就沒這種煩惱。

class

cat():

defspeak(self):

print("貓叫"

)

defwalk(self):

print("

貓步走"

)

defeat(self):

print("吃魚"

)class

dog():

defspeak(self):

print("狗吠"

)

defwalk(self):

print("蹦跳"

)

defeat(self):

print("吃肉"

)my_cat =cat()

my_cat.speak()

my_dog =dog()

my_dog.speak()

那麼,方法跟函式區別在哪呢?

在類中的方法跟函式的寫法一樣,放在類中就叫方法,不在類中就叫函式。即類中的函式叫方法,函式的一切適用於方法。

以上如果不足之處,敬請指正。

小學生學python(三)

這一節主要講序列,包含三種 字串,列表,元組。1 字串 就是一系列字元。比如 this is string this is string 這是字串 這是字串 給乙個變數賦值並列印出來 name this is string print name this is string這個字串是儲存在記憶體的棧...

python 小學生教材全解 小學生教材全解

秘密 2020年十大小學助教!第一名是意料之中的!本文不廢話,直接進入正題!公布名單!2020年十大小學助教 no.1 尖刀俠 小學英語語法學霸狂記 英語 no.2 薛金星 小學教材全解 語文 no.3 小學數學公式定律全解詞典 數學 no.4 名校學霸尖刀卷 英語 no.5 53天天練 語文 no...

python練習 小學生練習運算

小學生算術能力測試系統 設計乙個程式,用來實現幫助小學生進行百以內的算術練習,它具有以 下功能 提供10道加 減 乘或除四種基本算術運算的題目 練習者根據顯示的題目輸入自己的答案,程式自動判斷輸入的答案是否 正確並顯示出相應的資訊。import random count 0 right 0 whil...