函數
函數可以提高編寫代碼效率、代碼的重用、讓程序更小、模塊化
可以將一段獨立功能的代碼集成在一個塊中、封裝獨立功能
# 函數定義(參數名為形式參數)
def 函數名(參數名):
函數體
# 調用函數(享受封裝的成功)
函數名(實際參數)
例:print函數
print(sep,end) sep(元素中分割)和end(結束符)為函數的參數
函數的參數
# 函數共有四種參數(位置參數、關鍵字參數、默認參數、可變參數),下面分別來介紹這四種參數
# 位置參數(輸入的實際參數的時候和形式參數的位置是一一對應的)
例:
def number(a,b):
函數體
注意:number(a,b) a和b的位置不可變,否則會影響結果,這種形式就是位置參數、實參個數與形式參數個數一致
# 關鍵字參數(輸入的實際參數位置可以和形式參數位置不一致,由關鍵字判斷)
例:
def number(a,b):
函數體
number(a=,b=) a和b的位置可變,由關鍵字區分,實參個數和形式參數個數一致
# 默認參數
例:
def number(a,b=1):
函數體
number(a="1",b) b可以不用傳參,會直接使用默認參數,如果在實參中(關鍵子參數、位置參數)傳了默認參數會使用實參來代替默認參數、在函數定義時,默認參數需要放在非默認參數后面
# 可變參數
例:
def number(*args,**kwargs):
函數體
type(args)=tuple將形參接收到的所有位置參數,會保存到元組中,*一個星號只能接收位置參數
tyoe(kwargs)=dict將形參接收到所有關鍵子參數,會保存到字典中,**兩個型號接收關鍵參數
return
一個函數默認不使用return返回的話,默認返回None
函數中遇到return就會返回,這個函數運行結束
return的返回值會返回到函數調用處
可以返回多個值,用逗號隔開
返回多個值類型是元組類型
使用return會跳出循環
模塊及函數的調用
#模塊定義: 任意一個py文件就是模塊
模塊的名稱,一定要符合標識符的命名規范
py文件中定義的函數,變量,類型能唄其他py文件導入之后,進行調用
#函數的調用:
import py文件
from xxx import 特定的函數
from xxx import * (導入所有函數和全部變量) 不推薦使用,有可能造成重名,外加占用cpu
變量
# 函數中的作用域
局部變量:函數體內部定義變量
全局變量:模塊內的變量
# 函數體內的一個變量查找順序
1、當前函數內部作用域中查找有沒有定義這個變量
2、會去全局作用域中查找,如果有同名的變量,那么會直接獲取
3、會去系統模塊中查找,如果系統模塊中找不到,那么會NameError異常
# 函數體內部將局部變量改為全局變量
global變量 # 使用global后,指定的變量一定為全局變量
來源:https://www.cnblogs.com/xiaoxiaozhaoxin/p/13273158.html