12.02函数笔记

形参 实参
def text(x,y):
  print(x)
  print(y)
text(1,2) 位置参数调用,与形参一一对应
x=1
y=2

text(y=y,x=x) 显示的结果依然为x=1 y=2,因为调用text()函数只要求是x跟x对应,y跟y对应 实际的意思是text(y=2,x=1),但text(x,y)第一个就要x,自然而然找x=2,y同样道理。

text(y=2,x=1) 关键字调用,就不看定义函数中xy的顺序了,在第一个位置y赋值,显示的就是y想赋的那个值。所以显示依旧为1,2
  其中x和y即为形参(形式上在那摆着的 无实际参数赋给他,就无任何意义)也可称为位置参数
  而1和2即为实参(实际的具体参数,占用实际内存变量的参数)
  形参和实参一一对应的,个数不能超也不能少

text(x=2,3) 报错  因为第一个x=2,系统默认为关键字调用,第二个发现不是,因此报错

text(2,x=3) 报错  x被赋多个值

text(2,y=3) 正常运行

text(2,y=3,6) 报错  关键字参数不能出现在位置参数前边  text(2.z=6,y=3)正常

------------------------------------------------------  分隔符 -----------------------------------------------------------------------

1、默认参数特点:调用函数的时候,默认参数不用必须传递

2、当参数个数不固定,则需要引出参数组的概念  

def test(*args):

  print(args)

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

  test(*[1,2,4,5,5,6])

 

def test(x,*args):

  print(x)

  print(args)

这样就可随便赋值了,不怕位置变量赋值个数超过定义函数的个数

3、把n个关键字参数,转换成字典的形式用到 **kwargs

 

posted @ 2017-12-02 15:09  亚格斯123  阅读(102)  评论(0编辑  收藏  举报