k_0711

2020-08-17   阅读量: 270

python

固定参数和可变参数的区别

  1. 定义函数时,参数可以有两种:
    一种是在参数表中写明参数名key的参数,固定了顺序和数量的固定参数:
    def func(key1, key2, key3, …)
    def func(key1, key2=value, …)

    一种是定义时还不知道会有多少参数传入的可变参数:
    def func(*args): #不带key的多个参数
    def func(**kwargs): #key=value形式的多个参数

  2. 示例:
    固定参数:

def func_test(key1, key2, key3=23):
    print("key1=%s, key2=%s, key3=%s" % (key1, key2, key3))
    func_test('v1', 'v2')func_test('a', 'b', 768)func_test(key2='kk', key1='k')123456

可变参数:

#可随意传入0个或多个无名参数def func_test2(*args):    for arg, i in zip(args, range(len(args))):
        print('arg%d=%s' % (i, arg))
        func_test2('a', 'b', 23, True)123456
#可随意传入0个或多个带名参数def func_test3(**kwargs):    for key, value in kwargs.items():
        print('%s=%s' % (key, value))func_test3(name='Tom', sep='sofie', age=23)123456
  1. 调用函数的时候可以传进两种参数:
    一种是没有名字的位置参数:
    func(arg1, arg2, arg3, …)
    会按照前后顺序对应到函数的参数传入

    一种是带key的关键字参数:
    func(key1=arg1, key2=arg2, …)
    由于指定了key可以不按照顺序对应

    注意:如果混用位置参数必须在前,关键字参数 必须在后


32.1300 2 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子