python课堂整理9---函数1
生活随笔
收集整理的這篇文章主要介紹了
python课堂整理9---函数1
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
函數(shù)
一. 函數(shù)就是為了完成某一個(gè)特定的功能
形式參數(shù)不占運(yùn)行空間,只有傳入實(shí)參后才占,用完立刻釋放空間。
函數(shù)一遇到 return 就結(jié)束掉了
函數(shù)名() :運(yùn)行函數(shù),有返回值的話用變量承接
def test(x): # x稱(chēng)為形式參數(shù)#注釋函數(shù)功能x += 1 #代碼塊return x #返回值例:
def test(x):y = 2 * x + 1return y a = test(3) print(a)二、使用函數(shù)的好處
1. 代碼的重用
2. 保持一致性,易維護(hù)
3. 可擴(kuò)展性
def logger():'日志功能'
pass
def index():
logger() #調(diào)用函數(shù)使用日志功能
print('index')
def home():
logger() #調(diào)用函數(shù)使用日志功能
print('home')
三、 函數(shù)和過(guò)程
過(guò)程就是沒(méi)有返回值的函數(shù)
沒(méi)有返回值(沒(méi)有寫(xiě)return),返回None
返回一個(gè)值,返回object
返回多個(gè)值(return 0,1,2,3),返回tuple(0,1,2,3)
四、函數(shù)參數(shù):
函數(shù)定義時(shí)也可以不傳入形參,但要在函數(shù)體中給定值
def test():x = 2y = x ** 2return y a = test() print(a)4.1 位置參數(shù)?
要和形參一一對(duì)應(yīng),缺一不可,多一也不可
def test(x, y, z):print(x)print(y)print(z) test(1, 2, 3)4.2 關(guān)鍵字參數(shù)
位置無(wú)需固定,缺一不行,多一也不行
def test(x, y, z):print(x)print(y)print(z) test(y = 1, x = 3, z = 2)若混合使用,位置參數(shù)必須在關(guān)鍵字參數(shù)的左邊
test(1, y = 2, 3) #報(bào)錯(cuò) test(1, 3, z = 2, y = 4) #報(bào)錯(cuò),y只能傳一個(gè)值 test(1, 3, z = 2) #正確4.3 默認(rèn)參數(shù)
def test(x, type = 'dabai'):print(x)print(type) test(1) test(1, '唉') # 傳入的實(shí)參會(huì)覆蓋默認(rèn)參數(shù)五、參數(shù)組(非固定長(zhǎng)度的參數(shù))? *列表? **字典
*args 把位置參數(shù)處理成列表的形式
def test(x, *args):print(x)
print(args)
print(args[0])
test(1, 2, 3, 4, 5)
開(kāi)發(fā)的時(shí)候,預(yù)留一個(gè) *args 用來(lái)以后擴(kuò)展時(shí)用,可以先不傳入?yún)?shù),不會(huì)報(bào)錯(cuò)
傳入列表和字典時(shí),把列表和字典當(dāng)成一個(gè)整體作為了元組的第一個(gè)元素
def test(x, *args):print(x)print(args) test(1, {'name': 'dabai'}) test(1, [2,3,5,6,7])如果想把列表中的每一個(gè)元素都作為參數(shù)傳給args? 則用 *args
def test(x, *args):print(x)print(args) test(1, *[2,3,5,6,7])若是處理多個(gè)關(guān)鍵字參數(shù),用 **kwargs
def test(x, **kwargs):print(x)print(kwargs) test(1, y = 2, z = 3)混合使用
def test(x, *args, **kwargs):print(x)print(args, args[1])print(kwargs, kwargs.get('z')) test(1, 1, 2, 3, 4, 5, y=2, z=3) def test(x, *args, **kwargs):print(x)print(args, args[1])print(kwargs, kwargs.get('z')) test(1, *[1,2,3,4], **{'z': 1, 'y': 3})?
轉(zhuǎn)載于:https://www.cnblogs.com/dabai123/p/11027965.html
總結(jié)
以上是生活随笔為你收集整理的python课堂整理9---函数1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: golang基础归纳
- 下一篇: Docker仓库