Python(十)Lambda表达式

Posted on 2021-04-26 14:04  MissRong  阅读(132)  评论(0)    收藏  举报

Python(十)Lambda表达式

1、lambda.py

import import测试
import time

def a(x, y):
    return x + y
print(a(10, 20))   #30

lam = lambda x, y: x + y
print(lam(30, 40))  #70

#2、使用内置函数做表达式
lam = lambda x:print(x)
lam(50)  #50
 
import测试.b()  #测试import
import测试.c.k() #class中的k()

print(time.localtime()) 
#time.struct_time(tm_year=2021, tm_mon=4, tm_mday=26, tm_hour=13, tm_min=12, tm_sec=59, tm_wday=0, tm_yday=116, tm_isdst=0)

#3、使用自定义函数作为表达式
def b(nowtime): 
    return time.strftime("%y-%m-%d")
lam = lambda nowtime : b(nowtime)
print(lam(time.localtime()))  #21-04-26

#4、使用推导式作为表达式
lam = lambda x:[i for i in range(x)]
print(lam(5))  #[0, 1, 2, 3, 4]

使用不定长度参数:

#6、使用不定长参数 args
lam = lambda *args : [i for i in args]
print(lam(4, 5, 6, 7, 8))   #[4, 5, 6, 7, 8]

#7、使用不定长度参数 **kw
lam = lambda **args : {v:k for k,v in args.items()}
print(lam(name="张三", age=18))  #{'张三': 'name', 18: 'age'}

2、import测试.py

print("123456789")

def b():
    print("测试import")
class c:
    def k():
        print("class中的k()")

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3