路飛學城-python集訓營-第三章(python函數)

函數

  定義

    函數是指將一組語句的集合經過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名便可

  特性

      1.減小重複代碼 2.使程序變的可擴展 3.使程序變得易維護

語法定義

    def funcname(args):
代碼快
funname(args)調用
參數:
1.形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。所以,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變量

2.實參能夠是常量、變量、表達式、函數等,不管實參是何種類型的量,在進行函數調用時,它們都必須有肯定的值,以便把這些值傳送給形參。所以應預先用賦值,輸入等辦法使參數得到肯定值
def name(old):#old爲形參

p = name(x) #X爲實參 可傳遞給形參old

默認參數:
參數基本固定的狀況下使用 好比註冊網站 選擇國際 CN
def register(name,age,sex,country='CN'):#默認了country的值

位置參數:
按順序輸入參數
def register(name,age,sex,country='CN')
user = register('ff',21,'男')# ff,21,男 按照參數位置順序傳遞參數 爲位置參數

關鍵參數:
不想按順序傳遞參數時使用
def register(name,age,sex,country='CN')
user = register(age=21,name='ff',sex='man')#關鍵參數不能在位置參數前面


非固定參數:
不知道用戶想輸入多少個參數時候能夠使用
def register(name,age,sex,country='CN',*args,**kwargs)# *args 會把多傳入的參數變成一個元組形式, # *kwargs會把多傳入的參數變成一個dict形式
user = register(age=21,name='ff',sex='man')


局部變量:
在子程序(函數)裏定義的變量叫局部變量
局部變量的做用域是定義該變量的子程序

全局變量:
在程序一開始定義的變量叫全局變量
全局變量的做用域是整個程序

若是全局變量跟局部變量名字相同時:在定義局部變量的子程序內,局部變量起做用,在其餘地方全局變量起做用



返回值:
要獲取一個函數的結果能夠使用返回值 return
注意:
1.函數在執行過程當中只要遇到return語句,就會中止執行並返回結果,so 也能夠理解爲 return 語句表明着函數的結束
2.若是未在函數中指定return,那這個函數的返回值爲None



嵌套函數

#-*- coding: utf-8 -*-
# Author:w k

name = "wk"
def change_name():
    name = "wk2"
    def change_name2():
        name = "wk3"
        print("第3層打印", name)
    change_name2()  # 調用內層函數
    print("第2層打印", name)
change_name()
print("最外層打印", name)
相關文章
相關標籤/搜索