1. 程式人生 > >Python練習_函式進階_day10

Python練習_函式進階_day10

1.

1.作業

1,繼續整理函式相關知識點,寫部落格。

2,寫函式,接收n個數字,求這些引數數字的和。(動態傳參)

3,讀程式碼,回答:程式碼中,打印出來的值a,b,c分別是什麼?為什麼?
    a=10
    b=20
    def test5(a,b):
             print(a,b)
    c = test5(b,a)
    print(c)

4,讀程式碼,回答:程式碼中,打印出來的值a,b,c分別是什麼?為什麼?
    a=10
    b=20
    def test5(a,b):
        a=3
        b
=5 print(a,b) c = test5(b,a) print(c) 5,寫函式,傳入函式中多個實參(均為可迭代物件如字串,列表,元祖,集合等),將每個實參的每個元素依次新增到函式的動態引數args裡面. 例如 傳入函式兩個引數[1,2,3] (22,33)最終args為(1,2,3,22,33) 6,寫函式,傳入函式中多個實參(實參均為字典),將每個實參的鍵值對依次新增到函式的動態引數kwargs裡面. 例如 傳入函式兩個引數{‘name’:’alex’} {‘age’:1000}最終kwargs為{‘name’:’alex’ ,‘age’:1000}
7, 下面程式碼成立麼?如果不成立為什麼報錯?怎麼解決? 7.1 a = 2 def wrapper(): print(a) wrapper() 7.2 a = 2 def wrapper(): a += 1 print(a) wrapper() 7.3 def wrapper(): a = 1 def inner(): print(a) inner() wrapper()
7.4 def wrapper(): a = 1 def inner(): a += 1 print(a) inner() wrapper() 8,寫函式,接收兩個數字引數,將較小的數字返回. 9,寫函式,接收一個引數(此引數型別必須是可迭代物件),將可迭代物件的每個元素以’_’相連線,形成新的字串,並返回. 例如 傳入的可迭代物件為[1,'老男孩','武sir']返回的結果為’1_老男孩_武sir’ 10,寫函式,傳入n個數,返回字典{‘max’:最大值,’min’:最小值} 例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此題用到max(),min()內建函式) 11,寫函式,傳入一個引數n,返回n的階乘 例如:cal(7) 計算7*6*5*4*3*2*1 12寫函式,返回一個撲克牌列表,裡面有52項,每一項是一個元組(升級題) 例如:[(‘紅心’,2),(‘草花’,2), …(‘黑桃’,‘A’)] 13 有如下函式: def wrapper(): def inner(): print(666) wrapper() 你可以任意新增程式碼,用兩種或以上的方法,執行inner函式.

2.

2.默寫

1,形參的接收順序。
2,什麼是名稱空間,什麼是全域性名稱空間,什麼是區域性名稱空間,什麼是內建名稱空間。
3,什麼是全域性作用域,什麼是區域性作用域。
4,名稱空間的載入順序,取值順序。
5,解釋一下什麼是global,什麼是nonlocal。