python-16-初識函數

前言

之前寫的python代碼都是像記流水帳同樣,那麼函數時什麼額?它能夠在任何須要它的地方進行調用,函數分爲:python

  • 內置函數,print(),len()
  • 自定義函數

1、自定義函數

一、咱們都知道內置函數 len() 是計算長度,以下:函數

s = '我是十位字符串666'
lg = len(s)
print(lg)

 二、這是有沒有想到自定義一個函數也是計算長度呢?   直接定義函數名 def xxx():  通常小寫,咱們一塊兒看看吧spa

def my_len(s):            # 自定義 my_len 函數
    count = 0
    for i in s:
        count += 1
    return count

s = '我是十位字符串666'
lg = my_len(s)            # 調用 my_len 函數計算長度
print(lg)

 三、函數返回值:returncode

①return 表示有返回值,結束函數調用,沒返回值就不寫 returnblog

②return 可返回多個值,用多個變量接收:有多少返回值就用多少變量接收、用一個變量接收: 獲得的是一個元組字符串

# 多個返回值,有多少返回值就用多少變量接收,一個變量接收返回的是元組。
def common():
    return 1, 2, 'ss'
print('一個變量接收:', common())         # 一個變量接收

r1, r2, r3 = common()            # 多個變量接收
print('多個變量接收:', r1, r2, r3)

 四、函數的形參與實參:class

①形參,定義函數時的參數,接收參數;變量

  • 位置參數:必須傳,且有幾個參數就傳幾個值
  • 默認參數: 能夠不傳,若是不傳就是用默認的參數,若是傳了就用傳的(也就是常說的默認值)

②實參,調用函數實際傳入的參數;im

  • 按照位置傳參
  • 按照關鍵字傳參
  • 混着用能夠:可是 必須先按照位置傳參,再按照關鍵字傳參數
  • 不能給同一個變量傳多個值

 

五、定義函數時注意:d3

  • 位置參數 : 直接定義參數
  • 默認參數,關鍵字參數 :參數名 = '默認的值'
  • 動態參數 : 能夠接受任意多個參數,也就是萬能參數(參數名以前加*,習慣參數名args、參數名以前加**,習慣參數名kwargs)
  • 順序:①位置參數,②*args,③默認參數,④**kwargs
def my_len(s, a, *args, q=123, **kwargs):  # 萬能參數 

    return s, a, args, q, kwargs

# *args 是元組, **kwargs 是字典
lg = my_len('我是S', '我是a', 'ar1', 'ar2', q=321, name='小龍')
print(lg)

六、另外一種方式傳參

① *arges:組合全部傳過來的值,爲元組

def login(*args):
    ''' login註釋 '''
    print(args)

a = '小龍', '笑臉', 'GG', 889
login(*a)

② **kwargs :關鍵字傳參,組合爲字典

def login(**kwargs):
    ''' login註釋 '''
    print(kwargs)

login(a=1, b=2)
a = {'a': 1, 'b': 2}
login(**a)

 

歡迎來QQ交流羣:482713805

相關文章
相關標籤/搜索