百度領航團飛槳零基礎Python 學習筆記

2021-10-19 08:12:42 字數 2728 閱讀 1781

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

def student_name(name):

「列印學生的名字」

print(『姓名:』, name)

return

例2:下面定義乙個函式,返回多個值

def student_name_and_age():

「記錄學生的名字和年齡」

name = input(『請輸入姓名\n』)

age = int(input(『請輸入年齡\n』))

print(f』姓名:;年齡:』)

return name,age

函式的呼叫

rst = student_name(『alice』)

rst = student_name_and_age()

name, age = student_name_and_age()

補充:函式可以巢狀呼叫

例4:函式巢狀呼叫

def worker(s):

rst = 10 / float(s)

return rst

def group_leader(s):

rst = worker(s) * 2

return rst

def cto(s):

return group_leader(s)

函式的引數傳遞

位置引數

預設引數

可變引數

關鍵字引數

命名關鍵字引數

1 位置引數:最簡單。位置引數須以正確的順序傳入函式、數量必須和宣告時的一樣

例1-3都是位置引數

2 預設引數:呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值。

例5:def student_name_and_age(name, age=『不願透露』):

「設定預設引數」

print(『姓名:%s 年齡 %s』 %(name, age))

呼叫時:預設引數可以不給值,也可以給值。

student_name_and_age(『張三』)

student_name_and_age(『張三』, 18)

3 可變引數:傳入的引數個數是可變的,可以是0個、1個到任意個。在函式呼叫時自動組裝為乙個tuple。

用法:在引數名前加個『*』。

例6:def all_student_names(*names):

for name in names:

print(『姓名:』, name)

呼叫時:

names = (『張三』,『李四』,『王五』)

all_student_names(names)

4 關鍵字引數:允許傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。

用法:在引數名前有2個』*』。

例7:def student_info(name, age, **kw):

print(f』我的名字叫:,年齡:,其它資訊:』)

def student_info_more(name, age, **kw):

print(f』我的名字叫:,年齡:,其它資訊:』)

if 『city』 in kw:

print(『來自:』, kw[『city』])

呼叫:student_info(『張三』, 18, height=180)

student_info_more(『張三』, 18, height=180, city=『北京』)

5 命名關鍵字引數:可以限制關鍵字引數的名字。

例8:『*』後的引數height和weight就是命名關鍵字引數。

def print_person_info(name, age, *, height, weight):

print(『我的名字叫:』, name, 『年齡:』, age,『身高』, height, 『體重』, weight)

在python中定義函式,可以用必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數。也可以組合使用。但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

lambda匿名函式

lambda 只是乙個表示式,函式體比 def 簡單很多。

lambda 的主體是乙個表示式,而不是乙個**塊。僅僅能在 lambda 表示式中封裝有限的邏輯進去。

lambda 函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。

例9:lambda 若干個輸入引數 : 返回值的表示式。

lambda arg1, arg2: arg1 + arg2

呼叫時:

(lambda arg1, arg2: arg1 + arg2 )(1, 2)

更常見的定義和呼叫:

add = lambda arg1, arg2: arg1 + arg2

add(1,2)

高階函式

乙個函式可以接收另乙個函式作為引數,這種函式就稱之為高階函式。

例10:在func_x函式中,引數f就是另乙個函式名。

def func_x(x, f):

return f(x)

int2str = lambda x : str(x)

呼叫時:

func_x(-112,abs) #求-112的絕對值

func_x(-112,int2str) #把-112轉成字串

總結對比c語言來說,python的函式定義和呼叫都更簡潔

百度飛槳領航團 零基礎python速成營學習心得

偶然得知這個python速成營,我懷著試一試的心態前去報名。本課程週期為六天,每天都會有作業,助教老師也會無時無刻的耐心解答我們在編譯 現的問題。作為乙個python新手小白,可以說我對python的一切都是未知的。剛開始心情難免有些惶恐,經過一步步的學習之下,這六天的課程也即將結束。我們都知道,六...

百度飛槳領航團零基礎Python速成營學習心得

之前接觸過python,通過短短6天 直播 回看錄影,每日完成作業的形式,讓我對python物件導向有了進一步的認識。在接近2000人的課程 qq 群中,助教老師每天進行直播提醒 實時答疑 交流互動等,一起學習的同學們積極在群裡分享溝通問題,經常可以看到愛學習的小夥伴深夜還在研究怎麼作每日作業,這種...

百度飛槳領航團零基礎Python速成營 學習心得

資料如下 stu1.txt 孫同學,2020 5 21,20,男 77,56,77,76,92,58,91,84,69,91 stu2.txt 趙同學,2020 11 3,24,女 65,68,72,95,81,71,86,91,57,91 stu3.txt 王同學,2021 8 7,25,男 87...