1.def test(x, y):

     print(x, y)

test(y=1, x=2)

test(2 , y=1)    #位置参数一定要在关键字参数的前面 

def test(x, y, z):

    print(x, y, z)

test(2, z=1, y=2)

2.默认参数

def test(x, y=2):   #定义关键字参数时,位置参数要在关键字参数之前 不能写成 test(y=2, x)

     print(x, y) 

 

test(2)

test(2,2)

3.传递不固定的形参 

def test(*args):
      print(test)

test(1, 2, 3, 4, 5, 6)

test(*[1, 2, 3, 4, 5, 6])  #*args = *[1, 2, 3, 4, 5] #传入一个元组

test([1, 2, 3, 4, 5, 5])    #传入一个列表 为单独的一个变量 

def test(x, *args):

      print(x)

      print(args)

4. 传递字典 

def test3(name, **kwargs):

      print(name)

      print(kwargs)

test('alex', age=18, sex='m')

def test3(name, **kwargs):

      print(name)

      print(kwargs['age'])

      print(kwargs['sex'])

test('alex', age=18, sex='m')

5.混合编程

def test4(name, *args, age = 18, **kwargs):

       print(name)

       print(age)

       print(kwargs)

       logger('Test4')

def logger(source):

       print('from %s' %source)

test('alex', 18, age = 18, sex = 'm', hobby = 'tesla)

 

posted on 2018-05-14 16:37  python我的最爱  阅读(176)  评论(0)    收藏  举报