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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

函數的最主要的目的:封裝一個功能

函數的優點:

減少代碼的復用率, 增加代碼的閱讀性

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

return 特點:遇到return結束程序, 返回一些信息

如果當只有一個返回值時,返回是什么就是什么類型的

如果當有多個返回值時,將返回一個元組,元組里是需要返回的值

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

函數傳參:

? ? ? ? ? ?#實參 ? ?函數執行者實際的參數

? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數

? ? ? ? ? ? ? ? ? ? ? ? ?2.關鍵字參數

? ? ? ? ? ? ? ? ? ? ? ? ?3. 混合參數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數:按照位置一一對應

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

>>> 1 2 3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2 關鍵字參數: 按照所給參數一一對應

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

>>>>(2, 1)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3. 混合參數 由位置參數和關鍵字參數組成, 關鍵字參數一定要在位置參數的后面

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

? ? ? ? ? ? ? ?形參

? ? ? ? ? ? ? ? ? ? ? ? ?1.位置參數

? ? ? ? ? ? ? ? ? ? ? ? ?2.默認參數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 位置參數: 按照位置一一對應

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

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

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,按,分隔, 按Q退出')name, sex = content.strip().split(',')if name.upper() == 'Q':breakif sex: #如果有值,就傳入 login(name, sex)else: #沒有值,就默認使用sex='男'login(name)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默認參數的注意事項,這里有坑

? ?

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



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

如果非要是使用,我們需要使用 l = [],重新復制,更換 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))

?三元運算 是一種判斷的簡便寫法

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

?

?

?

?

?

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

轉載于:https://www.cnblogs.com/my-love-is-python/p/9481895.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。