慢步python,程式設計中函式的概念,python中函式的宣告和呼叫

函式,曾經是一個很高大尚的概念。筆者是在高中數學裡認識的函式,先是從y=2x+3 這條代數式開始的。y是因變數,x是自變數,y因為x取值的變化而變化。

再後來式子變成這樣:f(x)=2x+3,f(x)是因變數,是function(x),f(x)是x的函式。類似地f(a)是a的函式,f(y)是y的函式。透過f(x)函式,可以得到關於變數x的特定運算的結果。

在程式設計中,函式和數學中的函式類似,數學中的函式只能是數值的運算轉換,而程式設計中的函式不僅限於數學運算。

在程式設計中,函式是一段具有特定功能的、可重複使用的程式碼組。

比如筆者上一篇文章

慢步python,說說import,引用功能程式碼(功能庫、py檔案程式碼)

中functions。py檔案就定義了一個函式,並在另一個程式中呼叫了。

慢步python,程式設計中函式的概念,python中函式的宣告和呼叫

這個showlctime()函式實現了特定的功能:呼叫函式的結果就是輸出當前的列印時間。

程式設計中的函式是具有特定功能的程式碼組。

如果想實現y=2x+3,在程式設計中也是可以的。

每種程式語言對函式的定義及呼叫方式不同。在python中可以定義一個函式,

慢步python,程式設計中函式的概念,python中函式的宣告和呼叫

定義函式程式碼如下:

def cal2xplus3(x):

# 實現y=2x+3,返回y的值

y = 2*x + 3

return y

上面是定義了函式cal2xplus3(x),函式名為cal2xplus3,(筆者取意為:計算calculate,2x plus + 3),函式名後面帶的括號裡面是用於傳遞引數的,就是我們需要的自變數,是我們輸入的資料。

最後第4行程式碼返回y,這是整個函式的結果,就是返回值,可以用賦值語句賦值給變數。

python函式的呼叫

定義了函式,函式不會自動執行,必須由程式碼呼叫,函式才能執行。呼叫的方式透過函式名。看看筆者的例項:

慢步python,程式設計中函式的概念,python中函式的宣告和呼叫

延續上一篇文章,繼續使用import引用functions。py(函式在這個檔案內)。

“”“

程式:測試程式之函式

作者:地鐵慢步

時間:2020-05-10

”“”

import functions

x = int(input(“輸入自變數x的值”))

y = functions。cal2xplus3(x)

print(y)

第8行使用了一個內建的函式input(),這個函式可以獲得輸入,雙引號內的文字“輸入自變數x的值”作為輸入是的提示資訊存在。

由於輸入函式input()獲得的是字串型別資料,筆者輸入3,實際上計算機獲取的是字串“3”,不能直接進行數學運算。所以筆者再使用了一個內建的函式int(),可以將括號內參數(數字或浮點數)轉換為整數資料型別。

這樣我們得到x=3

第9行程式碼,functions。cal2xplus3(x)呼叫了已經引用的functions裡面的cal2xplus3函式,而且呼叫函式的時候將變數x傳遞給函式做引數(自變數)。函式運算結束後返回一個數值,並將這個數值賦值給y。

第10行就是輸出函式print(),輸出y的值。

python函式 定義or不用定義?

python中,一般來說函式都是先要定義,才能夠呼叫。如筆者自定義的cal2xplus3(x)。

但有些函式是可以直接呼叫的,如上面提到的輸入函式input(),輸出函式output(),轉換整數函式int(),還有很多其他內建的函式,都可以直接呼叫。

來重複一下要點

定義函式的格式:

def 函式名(引數1,引數2……):

功能程式碼

return 變數名

呼叫函式:

程式碼中鍵入函式名

(如果函式存在返回值,則需要賦值給對應的變數。)

同一個py檔案中怎麼定義和呼叫函式?

筆者使用了import引用,如果不用上一篇文章的import,在同一個py檔案中,怎麼定義和呼叫函式?

程式碼可以改為這樣子:

“”“

程式:測試程式之函式

作者:地鐵慢步

時間:2020-05-10

”“”

def cal2xplus3(x):

# 實現y=2x+3,返回y的值

y = 2*x + 3

return y

x = int(input(“輸入自變數x的值”))

y = cal2xplus3(x)

print(y)

記得要先定義函式,才可以呼叫,否則會提示出錯。

7-10行由def開始及後面的存在縮排格式的程式碼都是定義的函式內容。第13行是對函式的呼叫。

執行一下:

慢步python,程式設計中函式的概念,python中函式的宣告和呼叫

輸入X為5最後得到13。

(直接從文章中複製程式碼到IDE中可能存在縮排不恰當或者非英文字元的問題,請自行調整,因為文章會自行最佳化顯示格式。)

python函式,你get到了多少