def func(a,b,c,*args,**kw):
print('a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw)

必选参数,默认参数,可变参数,关键字参数

def func(a, b, c=0, *args, **kw):
  必选参数 默认参数 可变参数 关键字参数
  a c=0 *agrs **kw
         
         

#添加默认参数
def power(x,n=2):

一是必选参数在前,默认参数在后

二是如何设置默认参数。

当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。

使用频率高de可以设置为默认参数

默认参数必须指向不变对象!

可变参数

定义可变参数和定义list或tuple参数相比,仅仅在参数前面加了一个*

定义 def calc(numbers) def calc(*numbers)
调用 calc([1,2,3])
or
calc((1,2,3))
calc(1,2.3)
     
     

关键字参数

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

  关键字参数 可变参数
  传入0个或任意个参数 0个或任意个含参数名的参数
  自动组装为一个tuple 自动组装为一个dict
  def calc(*numbers) def person(name,age,**kw)
     

参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

最新文章

  1. Delphi在创建和使用DLL的时候如果使用到string,请引入ShareMem单元
  2. C#添加测量运行时间
  3. 初识echarts
  4. IOS判断app在appstore是否有可用的更新
  5. hdu 1596(Floyd 变形)
  6. 如何给EDIUS添加区域性马赛克
  7. 广州大学华软软件学院——NA视频下载
  8. PL/SQL 嵌套表变长数组和索引表[转]
  9. Spring整合Quartz
  10. C++多态性中基类析构函数声明为虚函数
  11. Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
  12. c++宏源证券编程
  13. aop代理方式引起的spring注入bean(实现类)与获取bean(实现类)出错
  14. 转: OVER() 系列函数介绍
  15. git diff命令详解
  16. 2016年蓝桥杯省赛A组c++第1题
  17. MySQL8.0的安装与配置(Windows 10)
  18. c++日志记录模块
  19. CodeForces 1105E
  20. 【DOS】COPY命令

热门文章

  1. #ifdef的用法【转】
  2. jelq
  3. (免量产,免格式化)手动将PE安装到移动硬盘/U盘或无系统硬盘!
  4. svg技术(可缩放矢量图形)介绍
  5. 【深入JVM内核—原理、诊断与优化】第2期开课了
  6. TP3.1 中URL和APP区别
  7. 大数据之tachyon(未完版)
  8. 在使用开源library的PullToRefreshView中
  9. 部署Apache网站访问统计-AWStats分析系统
  10. phpcms标签云