###################################################### #函数 #面向过程编程 一步一步从上往下垒码 #函数式编程 借道 #面向对象编程 调用一整块 函数是有返回值的,默认返回None 函数体内遇到return 就不再执行下边的语句; 函数参数:形参,实参 普通参数:数量一致,一一对应 指定参数: 默认参数:放在参数尾部 动态参数:*args **kwargs #关键字 def 函数名(实参) 若是要有默认值,直接将实参的值赋上即可,函数的参数中,默认参数要放在后边 参数可以接收任何类型的数据 def hasnhu(name): xxxxx def hanshu(p,name='zhangsan'): xxxxx 动态参数一: 函数名(*参数) 来多少接多少参数 def hanshu(*p): print (p,type(p)) hasnhu(123,456) 这时,123,456被认为是元组类型的 动态参数二: def hasnhu(**p): 两个星号表示动态参数,必须是键值对出现的 字典类型 hanshu(k1=123,k2=456) 这是参数类型是字典类型的 def hanshu(*p,**p): xxxx 表示自动接收*p,和**p类型的数据参数 一个星的在前,两个星的在后 通吃各种类型的动态参数 通常的命名方式 def hanshu(*args,**kwargs): xxxxx 为动态参数传入列表
def f1(*args): print (args,type(args)) li=[11,22,33,44] f1(li) ******************************************** ([11, 22, 33, 44],)
def f1(*args): print (args,type(args)) li=[11,22,33,44] f1(*li) **************************************************** (11, 22, 33, 44)字典:如果想把字典参数传入函数中,需要在字典名前加 **
def f1(**kwargs): print (kwargs,type(kwargs)) dic={'k1':123} f1(k1=123) f1(**dic) *************************************************************
{'k1': 123} <class 'dict'>
{'k1': 123} <class 'dict'>