1. 程式人生 > >01python中的函式與函數語言程式設計(python函式)

01python中的函式與函數語言程式設計(python函式)

一、函式的定義與呼叫

      11     1
def
lenght(s):
2
    l = 0
3
    for i in s:            # 關於for 迴圈的基本用法是時候做一波總結了
4
        l
= l + 1
5
    return l
6
 
         
         
          
          
           7
           
          
         
 
         
         
          
          
           8
           
          
         
a
= 'ssssssss'
9
print(lenght(a))
10
 
         
         
          
          
           11
           
          
         
>>> 8
   

# 1 函式的返回值

1)return關鍵字的作用

  return 是一個關鍵字,這個詞翻譯過來就是“返回”,所以我們管寫在return後面的值叫“返回值”,要研究返回值,我們還要知道返回值有幾種情況:分別是沒有返回值、返回一個值、返回多個值

2)沒有返回值

  不寫return的情況下,會預設返回一個None:我們寫的第一個函式,就沒有寫return,這就是沒有返回值的一種情況。 


      12           1
def lenght(s):
2
    l = 0
3
    for i in s:            # 關於for 迴圈的基本用法是時候做一波總結了
4
        l = l + 1
5
    
6
 
         
         
          
          
           7
           
          
         
 
         
         
          
          
           8
           
          
         
a = 'ssssssss'
9
print(lenght(a))
10
 
         
         
          
          
           11
           
          
         
 
         
         
          
          
           12
           
          
         
>>> None
   
3)只寫return
只寫return,後面不寫其他內容,也會返回None,有的同學會奇怪,既然沒有要返回的值,完全可以不寫return,為什麼還要寫個return呢?這裡我們要說一下return的其他用法,就是 一旦遇到return,結束整個函式
      12           1
def ret_demo():
2
    print(111)
3
    return
4
    print(222)
5
 
         
         
          
          
           6
           
          
         
 
         
         
          
          
           7
           
          
         
ret = ret_demo()
8
print(ret)
9
 
         
         
          
          
           10
           
          
         
 
         
         
          
          
           11
           
          
         
>>>111
12
   None
   
4)返回一個值

      剛剛我們已經寫過一個返回一個值的情況,只需在return後面寫上要返回的內容即可。

5)返回多個值

  可以返回任意多個、任意資料型別的值

        19           1
# return 返回多個值
2
def func():
3
    return 1, 2, 3, 4
4
 
         
         
          
          
           5
           
          
         
func()
6
print(func())
7
 
         
         
          
          
           8
           
          
         
>>>(1, 2, 3, 4)        #返回值為一個元組
9
 
         
         
          
          
           10
           
          
         
 
         
         
          
          
           11
           
          
         
# 返回多個值的接收
12
def func():
13
    return 1, 2, 3, 4
14
 
         
         
          
          
           15
           
          
         
 
         
         
          
          
           16
           
          
         
a, b, c, d = func()
17
print(a, b, c, d)
18
 
         
         
          
          
           19
           
          
         
>>>1  2  3  4
    總結下函式的返回    return 1) 當函式沒有return時:在呼叫函式的時候返回None 2) 當函式return後面沒有傳引數時:呼叫函式時也返回None 3) return可以以元組的形式返回多個數據

# 2 函式的引數 

1)形參與實參

      11           1
def lenght(s):      # 形參
2
    L = 0
3
    for i in s:     # 關於for 迴圈的基本用法是時候做一波總結了
4
        L = L + 1
5
    return L
6
 
         
         
          
          
           7
           
          
         
 
         
         
          
          
           8
           
          
         
a = 'ssssssss'
9
print(lenght(a))    # 實參
10
 
         
         
          
          
           11
           
          
         
>>> 8
   
2)傳遞多個引數
      7           1
# 函式傳遞多個引數
2
def sum01(x, y):
3
    return x if x > y else y        # 三元運算子
4
 
         
         
          
          
           5
           
          
         
print(sum01(1, 2))
6
 
         
         
          
          
           7
           
          
         
>>>2
   
3)位置引數
    1、按照位置傳參     2、按照關鍵字傳參
      11           1
def mymax(x,y):
2
    #此時x = 20,y = 10
3
    print(x,y)
4
    the_max = x if x > y else y
5
    return the_max
6
 
         
         
          
          
           7
           
          
         
ma = mymax(y = 10,x = 20)
8
print(ma)
9
 
         
         
          
          
           10
           
          
         
>>>20 10
11
   20
        3、位置、關鍵字混著來
      11           1
def mymax(x,y):
2
    #此時x = 20,y = 10
3
    print(x,y)
4
    the_max = x if x > y else y
5
    return the_max
6
 
         
         
          
          
           7
           
          
         
ma = mymax(10,y = 20)
8
print(ma)
9
 
         
         
          
          
           10
           
          
         
>>>10 20
11
   20
        4、預設引數
      10           1
def stu_info(name,sex = "male"):    # 形參
2
    """列印學生資訊函式,由於班中大部分學生都是男生,
3
        所以設定預設引數sex的預設值為'male'
4
    """
5
    print(name,sex)
6
 
         
         
          
          
           7
           
          
         
stu_info('pontoon', 'female')      # 實參
8
>>> pontoon female