1. 程式人生 > >Python基礎筆記_Day06_python函式引數、返回值、巢狀

Python基礎筆記_Day06_python函式引數、返回值、巢狀

Day06_python函式引數、返回值、巢狀

 

06.01_Python語言基礎(函式概述)(掌握)

06.02_Python語言基礎(函式的定義和呼叫)(掌握)

06.03_Python語言基礎(函式的引數)(掌握)

06.04_Python語言基礎(呼叫函式注意事項)(掌握)

06.05_Python語言基礎(引數總結)(掌握)

06.06_Python語言基礎(函式的返回值)(掌握)

06.07_Python語言基礎(函式的型別)(掌握)

06.08_Python語言基礎(函式的巢狀呼叫)(掌握)

 

## 06.01_Python語言基礎(函式概述)(掌握)
#
    例如:
       現在有一段程式碼:
       print("天王蓋地虎")
       print("小雞燉蘑菇")
       
     在來一段:
        if 條件1:
           print("天王蓋地虎")
        elif 條件2:
           print("小雞燉蘑菇")
        elif 條件3:
           print("天王蓋地虎")
           print("小雞燉蘑菇")
   
>總結:
    如果在開發的時候,需要某段程式碼多次執行,但是為提高程式碼的編寫效率和程式碼的重用,所以把具有獨立功能的程式碼塊組織為一個小模組,這樣的模組我們成為:函式
 
* 查一查:函式在數學中的定義是什麼?

## 06.02_Python語言基礎(函式的定義和呼叫)(掌握)

* 函式的定義
#
    函式定義的格式:
       def 函式名():
               程式碼
    例如:
     #函式的定義
    def printInfo():
        print("----------")
        print("人生苦短,我用python")
        print("----------")


* 函式的呼叫
#
    格式:
       函式名()
    printInfo()


* 做一做:定義函式,能夠完成輸出自己的姓名和年齡,並讓函式執行
#
    # 使用def定義函式
    # 編寫完函式後需要呼叫,通過函式名()進行呼叫
    # 定義函式
    def info():
        name = input("請輸入你的姓名:")
        age = input("請輸入您的年齡:")
        print("您的姓名為:%s,年齡:%s"%(name,age))
    
    #呼叫函式
    info()

## 06.03_Python語言基礎(函式的引數)(掌握)

* 定義帶有引數的函式
#
    # 定義函式
    def addnum():
        a = 33
        b = 22
        c = a + b
        print(c)
    # 呼叫函式
    addnum()
    
    # 定義函式
    def add2Num(a,b):#形參
        c = a + b
        print(c)
    # 呼叫函式
    add2Num(11,22)#實參


>做一做:定義一個函式,完成前兩個數的加法運算,在對第三個數進行減法,呼叫該函式,完成計算並列印結果?
#
    def add(a,b,c):
        d = a + b
        e = d - c
        print(e)
    
    add(10,20,30)

## 06.04_Python語言基礎(呼叫函式注意事項)(掌握)
* 形參和實參必須一一對應
* 函式呼叫時引數的順序
#
    def test(a,b):
        print(a,b)
    test(1,2)
    test(b = 1, a = 2)

## 06.05_Python語言基礎(引數總結)(掌握)
* 形參:定義時小括號中的引數,用來接受引數
* 實參:呼叫時小括號中的引數,用來傳遞給函式使用

>做一做:模擬一個簡單的兩位數的計算器,功能(加減乘除)

#
    #定義一個函式,完成計算器的加法運算
    def add(a,b):
        c = a + b
        print(c)
    
    
    # 定義一個函式,完成計算器的減法運算
    def minus(a, b):
        c = a - b
        print(c)
    
    
    # 定義一個函式,完成計算器的乘法運算
    def cheng(a, b):
        c = a + b
        # print(c)
    
    
    # 定義一個函式,完成計算器的除法運算
    def chu(c, d):
        c = c / d
        print(c)

    add(1,2)
    minus(2,1)
    cheng(1,2)
    chu(1,2)

## 06.06_Python語言基礎(函式的返回值)(掌握)

*  函式的返回值概述
    * 定義: 返回值:就是程式中函式完成一件事後將結果返回給呼叫者


* 帶有返回值的函式
#
    #定義函式
    def add2num(a,b):
        c = a + b
        return c
        #或者
        # return a + b
    
    sum = add2num(1,2)
    print(sum)


* 儲存帶有返回值的函式
#
    #定義函式
    def add2num(a,b):
        c = a + b
        return c
        #或者
        # return a + b
    
    sum = add2num(1,2)
    print(sum)


* 函式的型別

## 06.07_Python語言基礎(函式的型別)(掌握)
#
    函式根據有沒有引數,有沒有返回值,可以相互組合,一共有4中
    無引數,無返回值
    無引數,有返回值
    有引數,無返回值
    有引數,有返回值

### A: 無引數,無返回值
此類函式,不能接受引數,也沒有返回值,一般情況下,列印提示燈類似的功能,使用該類函式
#
    #無引數,無返回值
    def printInfo():
        print("------------")
        print("人生苦短,我用python")
        print("-----------")
    
    printInfo()

### B: 無引數,有返回值
此類函式,不能接受引數,但是可以返回某個資料,一般情況,像資料採集,
#
    #無引數,有返回值
    def getTemp():
        return 24
    
    temp = getTemp()
    print("當前的溫度為:%d"%temp)

### C:  有引數,無返回值
此類函式可以接受引數,但是不可以返回資料,一般情況適用於變數設定資料,而不需要結果
#
    #有引數,無返回值
    def add2num(a,b):
        result = a + b
        print(result)
    
    add2num(11,22)


### D: 有引數,有返回值
此類函式,不僅接受引數,同時可以返回某個資料,
#
    """
    1.是否需要傳參
        是   
             需要傳幾個
                    傳一個        
    2.是否需要返回
        有     return   將資料返回,二次處理
        沒有  

    """
    def calculateNum(num):
        i = 0
        sum = 0
        while i <= num:
            sum += i
            i += 1
        return sum

    result = calculateNum(100)
    calculateNum(200)
    print(result)

案例2:
#
    #定義一個函式
    def get_wendu(a):
        wendu = 22
        print("當前的溫度為:%d"%wendu)
        return wendu
    def get_wendu_huashi(wendu):
        print("======4========")
        wendu = wendu + 3
        print("=====5=====")
        print("當前的溫度為:%d"%wendu)
        print("======6======")
    print("====1======")
    result = get_wendu(1000)
    print("=======2=======")
    get_wendu_huashi(result)
    print("=======3======")


### 總結
* 函式是否有引數和返回值,決定函式的格式(4種)

## 06.08_Python語言基礎(函式的巢狀呼叫)(掌握)

* 概述:
    * 函式的巢狀呼叫:    一個函式中又呼叫了另外一個函式

示例:
#
    def testB():
        print("----testB-----")
    
    def testA():
        print("-----testA-----")
        testB()
        
    testA()


#### 想一想:
#
    案例1:
       1.寫一個函式列印一條橫線(20個“-”)
       2.列印自定義行數的橫線
    
    分析:
        是否引數
             需要    傳遞一個引數   確定“-”號的個數
             不需要   
        是否返回值
             需要    返回給呼叫者
             不需要    
    
     內容:
        列印一條橫線
             有參   無返回 
                def test(n):
                    print(n*"-")
                    
             有參   有返回
                   def test(n):
                        return n * "-"
                        
             無參  無返回
                  def test():
                       print(20*"-")
                       
             無參 有返回
                   def test():
                       retrun "-" * 20


程式碼:
#
    # n:確定-號的個數
    #列印一行-號
    def printOneLine(n):
        print(n * "-")
    
    # 列印多條橫線
    def printNumLine(num):
        i = 0 
        while i < num:
            printOneLine(20)
            i += 1
    
    # 呼叫函式
    printOneLine(20)
    printNumLine(3)


案例2:

#
    程式碼思路:
      引數
          需要   三個
      
      返回值
         需要


實現程式碼:
#
    def sum3Number(a,b,c):
        return a + b + c
    
    sum = sum3Number(1,2,3)
    print(sum)
    
    #定義一個函式,完成3個數的平均值
    def average3Number(aaa):
        averageResult = sum / 3.0
        return averageResult
    
    ave = average3Number(sum)
    print(ave)