日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

跟着太白老师学python 09day 初识函数

發(fā)布時(shí)間:2023/12/20 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跟着太白老师学python 09day 初识函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

函數(shù)的最主要的目的:封裝一個(gè)功能

函數(shù)的優(yōu)點(diǎn):

減少代碼的復(fù)用率, 增加代碼的閱讀性

def my_len(arvg): # arvg 形參 my_len函數(shù)名,應(yīng)該具有代表性,讓你一看就明白# 函數(shù)體count = 0for i in arvg:count += 1return count print(my_len(s)) # s實(shí)參

return 特點(diǎn):遇到return結(jié)束程序, 返回一些信息

如果當(dāng)只有一個(gè)返回值時(shí),返回是什么就是什么類型的

如果當(dāng)有多個(gè)返回值時(shí),將返回一個(gè)元組,元組里是需要返回的值

def fun1():a = 1b = 2c = a + bd = 'alex'return c, d print(fun1())
>>>(3, 'alex')

函數(shù)傳參:

? ? ? ? ? ?#實(shí)參 ? ?函數(shù)執(zhí)行者實(shí)際的參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ?2.關(guān)鍵字參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ?3. 混合參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數(shù):按照位置一一對(duì)應(yīng)

def fun2(a, b, c):print(a, b, c)fun2(1, 2, 3)

>>> 1 2 3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2 關(guān)鍵字參數(shù): 按照所給參數(shù)一一對(duì)應(yīng)

def func3(x, y):return x, y print(func3(y=1, x=2))

>>>>(2, 1)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3. 混合參數(shù) 由位置參數(shù)和關(guān)鍵字參數(shù)組成, 關(guān)鍵字參數(shù)一定要在位置參數(shù)的后面

def func4(x, y, z):return x, y, z print(func4(1, z=2, y=3))

? ? ? ? ? ? ? ?形參

? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ?2.默認(rèn)參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 位置參數(shù): 按照位置一一對(duì)應(yīng)

def func5(x, y):return x + yprint(func5(1, 2))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2. 默認(rèn)參數(shù),如果不傳,就默認(rèn)使用,函數(shù)里的默認(rèn)值,如果傳就使用傳入的值,默認(rèn)值設(shè)置一般考慮使用量比較多的情況

def login(name, sex=''):f = open('a1.txt', encoding='utf-8', mode='a') #打開文件寫入f.write('{}|{}\n'.format(name,sex))f.close()while True:content = input('請(qǐng)輸入姓名和性別,默認(rèn)為Q,按,分隔, 按Q退出')name, sex = content.strip().split(',')if name.upper() == 'Q':breakif sex: #如果有值,就傳入 login(name, sex)else: #沒有值,就默認(rèn)使用sex='男'login(name)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默認(rèn)參數(shù)的注意事項(xiàng),這里有坑

? ?

def func6(x, l1=[]):l1.append(x)return l1 tag_1 = func6(1) print(tag_1, id(tag_1)) tag_2 = func6(2) print(tag_2, id(tag_2))

>>>>

[1] 4612744
[1, 2] 4612744



我們可以發(fā)現(xiàn)兩次執(zhí)行時(shí)的l1可變參數(shù),指向的是同一個(gè)內(nèi)存地址,因此1和2都被添加到同一個(gè)l1中,所以在使用默認(rèn)參數(shù)的時(shí)候,最好不要使用可變數(shù)字類型,不可變數(shù)字類型包括數(shù)字,字母,布爾值,元組,一般都使用前3個(gè)來設(shè)置默認(rèn)參數(shù).

如果非要是使用,我們需要使用 l = [],重新復(fù)制,更換 l 的地址

?

def func6(x, l=[]):l = []l.append(x)return l tag_1 = func6(1) print(tag_1, id(tag_1)) tag_2 = func6(2) print(tag_2, id(tag_2))

?三元運(yùn)算 是一種判斷的簡便寫法

def func7(x, y):return x if x > y else yprint(func7(1, 2))

?

?

?

?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ?

轉(zhuǎn)載于:https://www.cnblogs.com/my-love-is-python/p/9481895.html

總結(jié)

以上是生活随笔為你收集整理的跟着太白老师学python 09day 初识函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。