day3

函数的在定义

def function():
    '''  函数说明'''
    return 1

函数详解

def test1():
    print('函数的定义')

def test2(x,y):#定义有参数的函数
    print(x,y)


test2(1,2)# 函数调用 必须要传两个位置参数并且相对应   这是位置传参

test2(x=1,y=2)#函数第二种传参                      这是关键参数

def test3(x,y=2):#定义默认参数的函数
    print(x,y)

test3(1)  #默认参数在调用的时候可以不用传

def test4(*args): #定义可以接受不确定的任意参数 包括没有 如果没有的话就是空元组
    print(args)

test4(1,2,3,4,5,5)   #*args 第一种传参方式
test4(*[1,2,3,4,5,6]) #*args第二种传参方式

def test5(**kwargs):
    print(kwargs)

test5(name='xiaoming',age=8,sex=1) #第一种 传参  用关键来传

test5(**{'name':'alex','age':18,'sex':0})  #直接接受一个字典参数

def test6(x,y=3,**kwargs): #默认参数要放在位置参数后面  非因定参数的前面 * 和 **
    print(x,kwargs,y)

test6(1,name='xi',age=18)

 

匿名函数 :

    匿名函数就是不需要显式的指定函数

#这段代码
def calc(n):
    return n**n
print(calc(10))
 
#换成匿名函数
calc = lambda n:n**n
print(calc(10))

你也许会说,用上这个东西没感觉有毛方便呀, 。。。。呵呵,如果是这么用,确实没毛线改进,不过匿名函数主要是和其它函数搭配使用的呢,如下

res = map(lambda x:x**2,[1,5,7,4,8])
for i in res:
    print(i)


输出

1
25
49
16
64

 

posted @ 2018-03-03 09:02  战胜自已  阅读(109)  评论(0编辑  收藏  举报