码迷,mamicode.com
首页 > 编程语言 > 详细

python自动化测试之函数(匿名函数lambda和三目运算等(高级用法))

时间:2019-11-05 01:04:54      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:高级   print   items   list   span   字典   pytho   style   code   

‘‘‘
匿名函数:
lambda
‘‘‘
def Add(a,b):
    print(a+b)
Add(2,3)

per = lambda a,b:a+b
print(per(2,3))

 

‘‘‘
三目运算
‘‘‘
a = 20
print("True") if a >10 else print("False")
‘‘‘
匿名函数+三目运算
‘‘‘
login = lambda username,password:print(‘登录成功‘) if username == ‘shenqiang‘ and password ==‘123‘ else print(‘登录失败‘)

login(‘shenqiang‘,‘123‘)

 

‘‘‘
匿名函数,字典的排序
‘‘‘
data = lambda **kwargs:dict(sorted(kwargs.items(),key=lambda item:item[0]))
print(data(name=‘shenqiang‘,age = 28))

 

‘‘‘函数的内部函数map(),对列表内的同样元素做同样的事情‘‘‘
list1 = [1,23,4,5,6]

print(list(map(lambda x:x+100,list1)))
‘‘‘函数的内部函数filter(),对列表内的元素进行过滤‘‘‘
list2 = [1,2,3,4,5,6]
print(list(filter(lambda a:a>1,list2)))

装饰器

‘‘‘
封闭:对已经实现功能的代码尽量不去修改
开放:对现有功能的代码进行拓展
需求:在调用f or f1 先打印getInfo,再打印f
‘‘‘
def getInfo(func):
    def info():
        print("无涯自动化测试")
        func()
    return info

@getInfo
def f():
    print("网易云平台")

@getInfo
def f1():
    print("51CTO平台")

f()

‘‘‘
步骤:
1.当我们执行getInfo时候,把被装饰的f当作参数传递
2.getInfo函数的返回值会重新赋值
3.一旦结合了装饰器,调用f函数的时候,实际调用了info内部分函数,原来的f1被覆盖
4。被装饰的f重新赋值给装饰器的info
‘‘‘
def login(func):
    def inner(Token):
        if Token == "01293":
            return func(Token)
        else:
            print("登录失败")
    return inner

@login
def profile(Token):
    print("登录成功")

profile("01293")

 

python自动化测试之函数(匿名函数lambda和三目运算等(高级用法))

标签:高级   print   items   list   span   字典   pytho   style   code   

原文地址:https://www.cnblogs.com/shen-qiang/p/11795888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!