好好学python·函数
生活随笔
收集整理的這篇文章主要介紹了
好好学python·函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數
- 函數的定義
- 函數的調用
- 函數使用的規范
- 函數的參數
- 函數參數概念及分類
- 普通參數
- 默認參數:
- 普通收集參數:
- 命名關鍵字參數
- 關鍵字收集參數有
- 形參聲明的位置順序:
- 函數返回值
- 變量作用域
- 變量分類
- 獲取變量數據
- 注意事項
- 函數作用域
- nonlocal
- 關于函數的文檔
函數的定義
def 函數名([形參列表]):當前函數的具體功能的代碼當前函數的具體功能的代碼。。。。函數的調用
函數名(實參列表[])函數使用的規范
- 函數只有在被調用時執行
- 不能在函數定義前調用
- 函數的調用不受次數影響
- 函數的命名要遵守命名規范
- 字母數字下劃線,不能以數字開頭
- 嚴格區分大小寫,不能使用關鍵字
- 命名有意義且不使用中文
- 函數名不能沖突
函數的參數
函數參數概念及分類
- 函數參數:調用時需要傳遞的數據.
. 形參: 函數定義時的參數
. 實參: 函數調用時的參數 - 函數調用時,形參和實參個數需要一一對應
- 形參: 普通參數,默認參數,普通收集參數,命名關鍵字參數,關鍵字收集參數
- 實參: 普通實參,關鍵字實參
普通參數
普通的參數,接收實參傳遞的值
def func(a) # a即為普通參數默認參數:
位于普通參數后面,具有默認值的參數
def func(a,b=1) # b在普通參數a的后面,默認值為1普通收集參數:
專門收集在函數調用時傳遞的多余的非關鍵字實參
def func(a,b=1,*args):print(a,b,args) func(1,2,3,4,5,6) #打印結果為1 2 (3,4,5,6) #其中a=1,b=2,args=(3,4,5,6) 相當于接受了多余的非關鍵字形參,結果為元組命名關鍵字參數
定義時在普通收集參數后的參數,調用時必須傳入指定參數名才能調用
def func(a,b=1,*args,name)print(a,b,args,name) func(1,2,3,4,5,6,name='1234567') #輸出結果 1 2 (3, 4, 5, 6) 1234567關鍵字收集參數有
用于專門收集多余關鍵字實參,輸出結果為字典
def func(a,b=1,*args,name,**kwargs):print(a,b,args,name,kwargs) func(1,2,3,4,5,6,name='1234',age=18.school='HEBTU') #輸出結果為 1 2 (3, 4, 5, 6) 1234 {'age': 18, 'school': 'HEBTU'}形參聲明的位置順序:
普通參數 -> 默認參數 ->普通收集參數 -> 命名關鍵字參數 -> 關鍵字收集參數
函數返回值
- 返回值可有可無
- 可以使用return 返回 任意內容或數據
- 若沒有return,默認返回None
- return 意味著函數的結束,return之后的代碼不在執行
變量作用域
變量分類
-
全局變量:函數內外都可以使用
①在函數內使用global定義的變量
②在函數外定義,在函數內用global引用的變量 -
局部變量:函數內定義的變量,只能在函數內使用
獲取變量數據
- globals() 獲取全局數據
- locals() 獲取當前作用域的數據
注意事項
- 在函數外定義的變量,函數可以訪問,但是不能更改
- 對于定義在函數外的列表和字典可以通過函數更改,其他不能更改,只能訪問
函數作用域
def outer():print('this is outer function...')def inner():print('this is inner function...')inner() #在函數內定義的函數,稱為局部函數,只能在函數內調用 outer() #inner()#會報錯nonlocal
在內函數中使用外層函數的變量,需要使用 nonlocal 關鍵字引用
def outer():# 外函數的局部變量num = 10def inner():# nonlocal 關鍵字在局部函數中使用nonlocal num # 可以引用,但依然不能提升為全局變量num += 1print(num)inner() outer()關于函數的文檔
def outer():'''這里是讓你些當前函數的文檔說明的。需要說明當前函數的作用,如果當前函數還有行參,那么也需要對行參進行一一說明name: 這個是一個name參數,有什么作用。。。age : 這個表示當前的一個年齡:return: 此處說明當前函數的返回值。。。'''print(globals())#輸出全局變量 print(__name__) # 獲取當前腳本的文件名, print(__doc__) # 獲取當前腳本的說明文檔 # print(outer.__doc__) # 獲取當前函數的說明文檔 ''' 魔術變量 __name__ ==> 當前腳本作為主程序,值是 __main__,如果是當做模塊,值是當前文件的名字 __doc__ ==> 當前腳本的文檔說明 在當前腳本當中的第一個 三引號注釋就是當前腳本的說明文檔'''總結
以上是生活随笔為你收集整理的好好学python·函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好好学python·运算符和流程控制
- 下一篇: NameError: global na