形式1:

定义:def function_name(arg1,arg2,arg3):

调用:function_name(x,y,z)

说明:调用传入 的参数个数必须和定义的参数个数一致,调用的时候参数一一对应赋值。


形式2:

定义:def function_name(arg1,arg2=default):

调用:function_name(x,y)

说明:至少传入一个参数用来给arg1赋值,如果传入了第二个参数。就赋值给arg2,没有第二个参数的话,arg2就用定义的default默认值。


形式3:

定义:def function_name(*arg1):

调用:function_name(1,2,3,4)

说明:可以传入任意多个参数,这些参数最终被封装成为一个tuple。

举个栗子:

deffunction_with_one_star(*t):
print(t, type(t))


使用:function_with_one_star(1, 2, 3)

输出:(1, 2, 3) <class'tuple'>


形式4:

定义:def function_name(**arg1):

调用:function_name(a=1,b=3,c=4)

说明:可以传入任意多个参数,这些参数最终被封装成为一个dic字典{‘A’:‘1’,‘B’:‘3’,‘C’:‘4’}。

举个栗子:

deffunction_with_two_stars(**d)
print
(d, type(d))


使用;function_with_two_stars(a = 1, b = 2, c = 3)

输出:{'a':1,'c':3,'b':2} <class'dict'>


其他分类方法:

1、位置参数:>>>defcheck_web_server(host, port, path): print .... >>> check_web_server('www.python.org', 80, '/')三个参数的顺序必须一一对应,且少一参数都不可以 2、关键字参数: 可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求,关键字参数通过“键-值”形式加以指定,用于函数调用 >>> check_web_server(port=80, host='www.python.org', path='/')(三个参数的位置可以随意) 3、默认参数: 为参数提供默认值,这样向它们传递参数就不是必需的了,用于函数定义(注意:所有位置参数必须出现在可选参数前,包括函数定义和调用) >>>defcheck_web_server(host, port=80, path='/'): #正确的      print ... >>>defcheck_web_server(path='/', host, port=80): #错误的(位置参数host必须放在最前面) print ...

更多相关文章

  1. python 函数、参数及参数解构
  2. tensorflow 变量定义路径//问题
  3. 将2d数组数据视为定义形状的像素——是否可能创建内部和表面?
  4. python3 自定义比较函数
  5. python尝试自定义数据结构不知道怎么下手
  6. 从bash脚本传递参数到python解释器
  7. Arcpy基础入门-5、读取自定义格式xml
  8. 是否可以使用argparse来捕获任意一组可选参数?
  9. Python定义函数时,不同参数类型的传递

随机推荐

  1. mysql中的隐式提交
  2. MYSQL在触发器中怎样实现‘根据条件来确
  3. MySQL“在建立到SQL Server的连接时发生
  4. mysql has gone away 的问题解决 --- ODB
  5. PHP MYSQL无法在While或For循环中获取数
  6. MySQL的ibdata1文件占用过大瘦身
  7. 数据库keepalived部署文档
  8. 为什么我们的查询卡在MySql中的“写入网
  9. linux环境下写C++操作mysql(一)
  10. 蜂巢和数据库之间的完整性检查