Python_15函数

######################################################
#函数
#面向过程编程 一步一步从上往下垒码
#函数式编程 借道
#面向对象编程 调用一整块
函数是有返回值的,默认返回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],) <class 'tuple'>



def f1(*args):
print (args,type(args))
li=[11,22,33,44]
f1(*li)
****************************************************
(11, 22, 33, 44) <class 'tuple'>



字典:如果想把字典参数传入函数中,需要在字典名前加 **
def f1(**kwargs):
print (kwargs,type(kwargs))

dic={'k1':123}
f1(k1=123)
f1(**dic)
*************************************************************

{'k1': 123} <class 'dict'>
{'k1': 123} <class 'dict'>

 

 

 


























posted on 2018-01-15 10:49  JuGooLar  阅读(158)  评论(0编辑  收藏  举报

导航