day10__レビューとジョブ

3437 ワード

一、昨日の内容を振り返る
1、関数のパラメータ
1)パラメータ角度:位置パラメータ、キーワードパラメータ、混合パラメータ
2)パラメータ角度:位置パラメータ、デフォルトパラメータ、キーワードパラメータのみ、万能パラメータ
3)パラメトリック角度パラメータ順序:位置パラメータ、*args、デフォルトパラメータ、キーワードパラメータのみ、*kwargs
2、*の魔性用法:
1)関数の定義時:集約を表す
2)関数の呼び出し時:分散を表す
3、pythonに存在する3つの空間:
内蔵ネームスペース:格納された内蔵関数:print,input.....
グローバルネームスペース:pyファイル、pyファイル(関数、クラス内部を除く)の変数を格納し、関数名と関数のメモリアドレスの関係
ローカルネームスペース:保存された関数内部の変数と値の対応関係
4、ロード順:ネームスペース内蔵-------->グローバルネームスペース-------->ローカルネームスペース(関数実行時)
5、取り寄せ順序:近接原則.ローカルネームスペース---->グローバルネームスペース---->内蔵ネームスペース
1)ローカル役割ドメインはグローバル変数のみを参照でき、変更できません.
6、作用域:
1)グローバル役割ドメイン:内蔵ネームスペース+グローバルネームスペース
2)ローカル役割ドメイン:ローカル名空間
二、作業:
1、コードを見て結果を書く
def func():
    return 1, 2, 3

val = func()
print(val)
print(type(val) == tuple)
print(type(val) == list)


#     :True   False

2、コードを見て結果を書く
def func(*args, **kwargs):
    print(args)
    print(kwargs)
# a.       ,    args    (1,2,3,4)
func(1, 2, 3, 4)
func(*[1,2,3,4])
# b.       ,    args    ([1,2,3,4],[11,22,33])
func([1,2,3,4],[11,22,33])
# c.       ,    args    ([11,22],33)   kwargs   {'k1':'v1','k2':'v2'}
func([11,22],33,k1='v1',k2='v2')
# d.     func(*{'   ','  ','  '}),   args kwargs     ?
func(*{'   ','  ','  '})
# e.     func({'   ','  ','  '},[11,22,33]),   args kwargs     ?
func({'   ','  ','  '},[11,22,33])
# f.     func('   ','  ','  ',[11,22,33],**{'k1':' '}),   args kwargs     ?
func('   ','  ','  ',[11,22,33],**{'k1':' '})

3、コードを見て結果を書く
def func(name,age=19,email='123.qq.com'):
    print(name,age,email)
#a  func('mrxiong'),       ,     name、age、email       ?
func('mrxiong')
#b  func('mrxiong',20),       ,     name、age、email       ?
func('mrxiong',20)
#c  func('mrxiong',20,30),       ,     name、age、email       ?
func('mrxiong',20,50)
#d  func('mrxiong,email='[email protected]'),      ,     name、age、email       ?
func('mrxiong',email='[email protected]')
#e  func('mrxiong,email='[email protected]',age=99),      ,     name、age、email       ?
func('mrxiong',email='[email protected]',age=99)
#f  func(name='mrxiong',99),      ,     name、age、email       ?
func(name='mrxiong',99)
#g  func(name='mrxiong',99,'[email protected]'),      ,     name、age、email       ?
func(name='mrxiong',99,'[email protected]')

4、コードを見て結果を書く
def func(users,name):
    users.append(name)
    return users
result = func(['mrxiong','  '],'alex')
print(result)
#    :
#['mrxiong', '  ', 'alex']

5、コードを見て結果を書く
def func(users,name):
    users.append(name)
    return users
result = func(['mrxiong','  '],'alex')
print(result)
    :
    ['mrxiong', '  ', 'alex']

6、コードを見て結果を書く
a = 10
b = 20
def test(a,b):
    return a ,b
c = test(b,a)
print(c)
    :
    (20, 10)

7、コードを見て結果を書く
def a(*args):
    count = 0
    for i in args:
        count += i
    return count
c = a(1,2,3,4,5)
print(c)
    :
15