#返回值
#返回值的3種情況
# 沒有返回值 —— 返回None
# 不寫return
# 只寫return:結束一個函數的繼續
# return None —— 不常用
# 返回1個值
# 可以返回任何數據類型
# 只要返回就可以接收到
# 如果在一個程序中有多個return,那麼只執行第一個
# 返回多個值
# 用多個變量接收:有多少返回值就用多少變量接收
# 用一個變量接收: 得到的是一個元組
#站在實參的角度上:
#按照位置傳參
#按照關鍵字傳參
#混着用可以:但是 必須先按照位置傳參,再按照關鍵字傳參數
# 不能給同一個變量傳多個值
#站在形參的角度上
#位置參數:必須傳,且有幾個參數就傳幾個值
#默認參數: 可以不傳,如果不傳就是用默認的參數,如果傳了就用傳的
#只有調用函數的時候
#按照位置傳 : 直接寫參數的值
#按照關鍵字: 關鍵字 = 值
#定義函數的時候:
#位置參數 : 直接定義參數
#默認參數,關鍵字參數 :參數名 = '默認的值'
#動態參數 : 可以接受任意多個參數
#參數名之前加*,習慣參數名args,
#參數名之前加**,習慣參數名kwargs
#順序:位置參數,*args,默認參數,**kwargs
# 動態參數有兩種:可以接受任意個參數
#*args : 接收的是按照位置傳參的值,組織成一個元組
#**kwargs: 接受的是按照關鍵字傳參的值,組織成一個字典
#args必須在kwargs之前
#函數的註釋
# def func():
# '''
# 這個函數實現了什麼功能
# 參數1:
# 參數2:
# :return: 是字符串或者列表的長度
# '''
# pass