python學習9 函數的基礎知識

來源:互聯網
上載者:User

標籤:img   就是   常用   sed   資料   int   code   學習   問題   

1.函數的定義

  def  func():

2.函數的調用

  func()

3.函數的傳回值

#1.沒有傳回值#     (1)不寫return#      (2)唯寫return後面的代碼不在繼續執行,返回空,代表結束一個函數,跳到整個函數外面#                                                     break 只是跳出函數內的迴圈內容#     (3)return None  結束   這個不常用# 2.返回一個值#     (1) 可以返回任何資料類型#     (2)只要返回了,就可以接收了#     (3)如果一個程式有多個return 只返回一個# 3.返回多個值#     多個傳回值用多個變數接收,有多少傳回值,就用多少變數接收#     用一個變數接收,返回元組
# def func():#     l = [‘金老闆‘,‘二哥‘]#     for i in l:#         if i == ‘金老闆‘:#             return None#     print(‘==========‘)# ret = func()# print(ret)#### def func():#     #return [1,2,3,4]#     return False# print(func())## def func2():#     return 1,2# print(func2())## r1,r2 = func2()# print(r1,r2)

 

3.函數的參數    

函數定義和調用的時候

位置參數,*args,預設參數,**kwargs
1.沒有參數,定義和調用函數時,括弧內都不寫內容
2.1個參數,傳什麼就是什麼
3.多個參數
站在實參角度長
位置參數
按照關鍵字傳
位置傳和關鍵字傳可以混用,必須先按照位置傳參,然後按照關鍵字
ret = my_sum(a = 5,2)是不對的
不能給同一個變數傳多個值
站在形參的角度上
位置參數:必須傳,且有幾個參數傳幾個,多傳和少傳都報錯,
4.動態參數
*args接收按照位置傳參的值,組織成一個元組
**args接收按照關鍵字傳參的值,組織成一個字典
可以接收任意多個參數
*args 加*變成動態參數,參數名之前加*,習慣參數名用args
按照關鍵字傳不行
如果有多個關鍵字參數需要調用,虛參用**kwargs
5.順序 必須先定義位置參數,然後定義args,最後定義位置參數
參數名之前加**,習慣參數名kwargs
# def my_sum(a,b):#     res = a + b#     return resd# ret = my_sum(1,2)# print(ret)# ret = my_sum( 3,b = 6)# print(ret)# def classmate(name,sex = ‘男‘):  #預設參數,如果不傳就用預設參數,如果傳了,就傳遞傳的值+#                                     #只有調用函數的時候#                                         #按照位置傳: 直接寫參數的值#                                         #按照關鍵字: 關鍵字 = 值#                                     #定義函數的時候:#                                         #位置參數:直接定義參數#                                         #預設參數:關鍵字參數: 參數名 = ’預設值‘-0#                                     #定義函數的時候,必須先定義位置參數,後定義預設參數#     print(‘{0}同學是{1},我愛{0}‘.format(name,sex))# classmate(‘二哥‘)# classmate(‘蒼‘,‘女‘)#   *args  動態參數def sum(*args):    n = 0    for i in args:        n += i    print(n)sum(1,2)sum(1,2,3)sum(1,2,3,4)#########def func(**kwargs):    print(kwargs)func(a = 1,b = 2,c = 4)def func(*args,default = 2,**kwargs):   #先位置參數,後關鍵字參數,即args必須在kwargs之前    print(args,kwargs)func(1,2,3,4,5,default = 1, va = ‘asdkfj;als‘,b = ‘dsfjl‘)
View Code

  

動態參數的另外一種傳參方式
def func(*args):   #站在形參的角度上,給變數加上*,就是組合所有傳來的值    print(args)func(1,2,3,4,5)l = [1,2,3,4,5]func(*l)  #站在實參的角度上,給一個序列加上*,就是將這個序列按照順序打散def func(**kwargs):    print(kwargs)func(a = 1,b = 2)d = {‘a‘ : 1,‘b‘ : 2}func(**d)
View Code
函數的注釋
def func():    ‘‘‘    這個函數實現了什麼功能    參數1:    參數2:    :return:是字串或者列表的長度    ‘‘‘#預設參數的陷阱問題
View Code

 

python學習9 函數的基礎知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.