1. 程式人生 > >python函數 一

python函數 一

nco span 初識 odin () 字符串 引入 有一個 輸入

函數

一。函數的初識

比如:我們測量一個字符串‘asdfghj’的長度,但是不讓用len()的方法

s = asdfghj
count = 0
for i in s:
    count += 1
print(count)

要是測量其他的字符串的長度就要再次編寫這些相似的代碼,重復性強,可讀性差,此時我們可以引入函數概念。

二。函數的定義與調用

def my_len():     # def 關鍵字,定義函數   空格   函數名(變量)
    s = asdfghj
    count = 0
    for i in s:
        count += 1
    print
(count) my_len() #執行此函數

三。函數的返回值(return)

return

1.遇到return,此函數結束,不再繼續運行(類似於循環中的break)

2.return有四種情況

1)不寫return 返回 None

def my_len():
    s = asdfghj
    count = 0
    for i in s:
        count += 1
ret = my_len()
print(ret)                  #輸出結果 None

2)return None 返回 None

def my_len():
    s = asdfghj
    count = 0
    for i in s:
        count += 1
    return None
ret = my_len()
print(ret)                  #輸出結果None

3)return 一個值 返回 此單個值

def my_len():
    s = asdfghj
    count = 0
    for i in s:
        count += 1
    return count
ret = my_len()
print
(ret) #輸出結果:7

4)return 多個值 返回 將多個值包在元組內,返回給調用者此元組

def my_len():
    ‘‘‘返回多個值‘‘‘
    return count,1,3,alex,8
ret = my_len()
print(ret)            #輸出結果:(7, 1, 3, ‘alex‘, 8)
# 用多個值接收
def my_len():
    return  1,[a,b],3,4

ret1,ret2,ret3,ret4 = my_len()
print(ret1,ret2,ret3,ret4)
# 輸出結果:1 [‘a‘, ‘b‘] 3 4

四。參數

實參與形參

參數還有分別:

我們調用函數時傳遞的這個“hello world”被稱為實際參數,因為這個是實際的要交給函數的內容,簡稱實參。

定義函數時的s1,只是一個變量的名字,被稱為形式參數,因為在定義函數的時候它只是一個形式,表示這裏有一個參數,簡稱形參。 

傳遞多個參數

參數可以傳遞多個,多個參數之間用逗號分割。

1.實參

從實參的角度:
1)按位置傳參

def my_line(x,y):
    此時x = 5 , y = 10 
    max =  x if x > y else y
    return max
#調用
ma = my_line(5,10)
print(ma)              #輸出結果:10

2)按關鍵字傳參

def my_len(x,y):
    #x = 5 ,y = 20
    max = x if x > y else y
    return max
#調用
ma = my_len(y=20,x=5)
print(ma)              #輸出結果:20

3)混合傳參 關鍵字參數永遠在位置參數後面

def my_len(x,y):
    #x = 5,y = 15
    max = x if x > y else y
    return max
#調用
ma = my_len(5,y=15)
print(ma)             #輸出結果:20

2.形參

1)位置參數

def mymax(x,y):
    #此時x=10,y=20
    the_max = x if x > y else y
    return the_max

ma = mymax(10,20)
print(ma)             #輸出結果:20

2)默認參數

def fa(name,sex=):
    with open(name_list,a,encoding=utf-8) as f:
        f.write({},{}\n.format(name,sex))
while 1:
    name = input(請輸入姓名:)
    if  in name:
        sex = input(請輸入性別:)
        fa(name,sex)
    else:
        fa(name)

python函數 一