寫在前面:大家好!我是【AI 菌】,一枚愛彈吉他的程式員,我
熱愛AI、熱愛分享、熱愛開源! 這博客是我對學習的一點總結與記錄,如果您也對深度學習、機器視覺、演算法、Python、C++感興趣,可以關注我的動態,我們一起學習,一起進步~
我的博客地址為:【AI 菌】的博客
我的Github專案地址是:【AI 菌】的Github
-> 前往【人生苦短,我學 Python】總目錄 <-
文章目錄
- 一、函式
- (1) 什么是函式
- (2) 定義函式
- (3) 呼叫函式
- 二、模塊
- (1) 什么是模塊
- (2) 匯入整個模塊
- (3) 從模塊中匯入函式
- (4) 指定別名
一、函式
(1) 什么是函式
函式是可重復使用的,用來實作單一,或相關聯功能的代碼段,函式能夠很好地劃分和組織程式的執行邏輯,通過使用函式,可以將原本復雜冗長的程式劃分為依次呼叫的程式塊,
函式能提高應用的模塊性,和代碼的重復利用率,通過前面的學習,你已經知道Python提供了許多內置函式,比如print()、input()、len()、max()等,但你也可以自己創建函式,這些被叫做用戶自定義函式,
(2) 定義函式
在定義一個函式的程序中,我們需要遵循以下的規則:
- 函式代碼塊以 def 關鍵詞開頭,后接函式識別符號名稱和圓括號 ()
- 任何傳入引數必須放在圓括號中間,圓括號之間可以用于定義引數
- 函式的第一行陳述句可以選擇性地使用檔案字串,用于對函式解釋說明
- 函式內容以冒號 : 起始,以縮進確定程式結構
- return [運算式] 結束函式,回傳一個值給呼叫處,不帶運算式的 return 相當于回傳 None,
下面,舉例定義一個簡單的函式,來輸出兩數中的較大的數:
def max(a, b):
"""輸出a,b中較大的那個數"""
if a > b:
return a
else:
return b
(3) 呼叫函式
定義一個函式只是指定這個函式能做什么,但是并沒有真正地去執行它,只有在呼叫函式,才能發揮函式的真正作用,下面,我們就簡單的呼叫一下上面的函式:
# 定義函式
def max(a, b):
"""輸出a,b中較大的那個數"""
if a > b:
return a
else:
return b
# 呼叫函式
print("a,b中較大的那個數是:", max(6, 8))
實質上,整個程式是從最后一行開始執行的,在撰寫工程的時候,我們更習慣這種寫法:
def max(a, b):
"""輸出a,b中較大的那個數"""
if a > b:
return a
else:
return b
if __name__ == '__main__':
print("a,b中較大的那個數是:", max(6, 8))
二、模塊
(1) 什么是模塊
模塊是一個包含所有你定義的函式和變數的檔案,其后綴名是.py,模塊可以被別的程式匯入,以使用該模塊中的函式等功能,
Python之所以好用,原因之一就是其有著豐富的標準模塊,這些標準模塊功能強大,且易于使用,比如常用的有os模塊、sys模塊、datetime模塊等,
而本文主要帶大家了解,如何建立自己的模塊,并且匯入模塊,或者匯入模塊中的某個函式,
(2) 匯入整個模塊
在匯入一個自定義模塊之前,我們需要自建一個模塊,命名為mymath.py,用來存放我們定義的一些函式,比如下面這樣:
def max(a, b):
"""輸出a,b中較大的那個數"""
if a > b:
return a
else:
return b
def min(a, b):
"""輸出a,b中較小的那個數"""
if a < b:
return a
else:
return b
def add(a, b):
"""輸出a,b之和"""
return a + b
接下來,我們需要在主檔案main.py中去匯入這個模塊,再呼叫其中的函式:
# 匯入模塊
import mymath
a = 6
b = 8
# 呼叫函式
print("輸出a,b中較大的那個數:", mymath.max(a, b))
print("輸出a,b中較小的那個數:", mymath.min(a, b))
Python 在讀取main.py時,代碼行 import mymath 讓 Python 打開檔案 mymath.py ,并將其中的所有函式都復制到這個程式中,你看不到復制的代碼,因為這個程式運行時,Python 在幕后復制這些代碼,你只需知道,在 main.py 中,可以使用 mymath.py中定義的所有函式,
(3) 從模塊中匯入函式
有的時候,在主程式中,不需要用到mymath.py中所有的函式,這個時候就可以只匯入需要用的那個函式,比如值匯入mymath.py中的add()函式:
# 匯入模塊
from mymath import add
a = 6
b = 8
# 呼叫函式
print("輸出a,b之和:", add(a, b))
當然,也可以通過以下方式,同時匯入mymath.py模塊中的多個函式:
from mymath import add, max, min
如果是匯入模塊中的所有函式,可以直接用 * 號代替,如下所示:
from mymath import *
(4) 指定別名
有的時候,匯入的模塊名太長,在撰寫主程式時,又需要經常用到,為了方便,在匯入時往往將模塊指定一個更為簡短的名字,比如:
import tensorflow as tf
通過這樣,在主程式中不僅匯入了tensorflow,而且還命名了一個別名tf,那么在主程式中,tf就指代tensorflow,
同樣,也可以使用 as 給函式指定別名,比如下面這樣:
from mymath import add as d
于是,我們的主程式,就可以直接這樣簡寫:
from mymath import add as d
a = 6
b = 8
# 呼叫函式
print("輸出a,b之和:", d(a, b))
當我們需要進行多次add()操作時,這種簡寫的方式優勢就很明顯了!
-> 回到【人生苦短,我學 Python】總目錄 <-

由于水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!
CSDN認證博客專家
博客專家
CSDN合作伙伴
演算法實習僧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/258733.html
標籤:python
