1. 程式人生 > 實用技巧 >python03——函式基礎

python03——函式基礎

1.函式基礎

函式定義:

def 函式名():

程式碼塊

函式的呼叫:

函式名()

def print_info():
      print("hello")
      pass

print_info()

2.函式引數

def 函式名(引數列表):

def print_info(name,age,hight)
     print('%s年齡是%d歲'%(name,age))
     print('%s體重是%dkg'%(name,hight))

print_info(yangh,12,33)

引數分類:

必選引數(也叫位置引數)——呼叫時,必須給實參

def sum(a, b):   #
形式引數:不佔記憶體地址 sum = a + b print(sum) sum(20,15) #實際引數:佔用記憶體地址的 sum() ##不能這麼寫,因為沒有給a、b傳值

預設引數(預設引數,必須放在引數列表的最後)

def sum(a=10,b=20)
     print(a+b)

sum()   #可以不賦值,會使用預設值
sum(1)
sum(1,2)      
def sum(b,a=2):
def sum(a=2,b):  ###錯

可變引數(當引數個數不確定時使用,比較靈活) *

def getComputer(*args):
    result
=0 for item in args: result+=item print(result) pass getComputer(1) getComputer(1,2,3)

關鍵字引數(可變的) ** 字典型別,key值必須是字串

def keyFunc(**kwargs):
     print(kwargs)

dicta={''name":'yh',"age":18}
keyFunc(**dicta)

keyFunc(name='lh',age=26)

組合使用:(可選引數得放在關鍵字引數之前)

def complexF(*args,**kwargs):   #
#(**kwarg,*args)會報錯 print(args) print(kwargs) complexF() #不會報錯 complexF(1,2,3,4,name='lh') #會自動識別自動填充

3.函式返回值

return後的程式碼不會被執行

def sum(a,b):
    sum=a+b
    return sum
print(sum(10,20)) ##會返回到呼叫的地方
def calc(num):
      r=0
      i=1
     while i<=num:
            r+=i
            i+=1
    return r

v=calc(10)
print(v)
li=[]
return li  ###返回列表
return 1,2,3  ##返回元組
return {"name":"yh"}  ##返回字典

4.函式的巢狀呼叫

在函式裡呼叫其他函式

def fun1():
    print("start1")
    print("……………………")
    print("end1")
    pass
def fun2():
    print("start2")
    fun1()
    print("end2")
    pass
fun2()

函式的分類:

有引數無返回值的、有引數有返回值的、無引數有返回值的、無引數無返回值的

鞏固:

1.寫函式,接收n個數字,求這些引數數字的和
2.寫函式,找出傳入的列表或元組的奇數位對應的元素,井返回-個新的列表
3.寫函式,檢查傳入字典的每一個value的長度如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。PS 字典中的value只能是字串或列表