zoukankan      html  css  js  c++  java
  • Python函数传参位置关系总结

     一般传参的函数

    def print_Info(name,age):
        print('Name: %s' % name)
        print('Age: %s'%age)
     
    print_Info("ljj",15)

    带有默认值的传参函数,有默认值的放在后面

    def print_Info(name,age=15):
        print('Name: %s' % name)
        print('Age: %s'%age)
     
    print_Info("ljj",15)

    数量可变参数

    def add(*a):
        i=0
        for temp in a:
           i+=temp
        print(i)
    add(1,2,3,4,5,6,7,8,9,10)

    *a是以元组的形式展示的

    变量名和变量值可变的函数参数

    def print_info(name,age,sex,**kwargs):
        print('Name: %s' % name)
        print('Age: %s' % age)
        print('Sex: %s' % sex)
        for i in kwargs:
            print('%s:%s'%(i,kwargs[i]))
    print_info('ljj',18,'female',job='IT',hobby='girls',height=188)

    **kwargs以字典的形式展示的

    可变长度的和变量名和变量值可变的函数参数组合函数

    def f(*args,**kwargs):
        for temp in args:
            print(temp)
        for i in kwargs:
            print('%s:%s' % (i, kwargs[i]))
     
    f(1,2,3,4,5,'1212',[1,2,5],name='alvin',age=23)

    各种参数形式的组合

    def func(name,age=22,*args,**kwargs):
        print('Name: %s' % name)
        print('Age: %s' % age)
        for temp in args:
            print(temp)
        for i in kwargs:
            print('%s:%s' % (i, kwargs[i]))
    func('lj',21,3,4,5,'1212',[1,2,5],name1='alvin',age1=23)

    总结

    1,如果有默认参数,放在左边,默认参数

    2,关于不定长参数的位置:*args放在左边,**kwargs放在右边

    优先级顺序为:一般函数参数>有默认值的函数参数>可变长度的函数参数>变量值可变的函数参数

  • 相关阅读:
    mybatis+sql语句
    坐标转换
    sql语句含中文JDBC查询不到
    架构阅读笔记16
    架构阅读笔记15
    架构阅读笔记14
    windows安装imgaug包报错中Shapely
    java除法
    Java输入输出问题复习
    java自学,基础,入门
  • 原文地址:https://www.cnblogs.com/softtester/p/11583321.html
Copyright © 2011-2022 走看看