zoukankan      html  css  js  c++  java
  • 装饰器

    装饰器:本质是个函数,主要功能给其他函数附加新的功能

    1,给其他函数附加新的功能

    2,在不修改其他函数的内部和不修改其调用方式前提下,给函数装饰新的功能

    函数其实是个变量

    装饰器有高阶函数和嵌套函数组成

    高阶函数定义

    1以函数名为实参给另一个函数作为传递变量

    2,返回值包含函数名(其它是返回了一个函数的内存地址)

    例子:

     1 user_status= False
     2 
     3 def login(*args,**kwargs):
     4     # args
     5     print(*args)
     6     def out_wrapper(func):
     7         def inner(*args,**kwargs):
     8             user_name="yuan"
     9             user_password="123456"
    10             global user_status
    11             # print(user_status)
    12             if user_status==False :
    13                 _user_name=input("usename:")
    14                 _user_password=input("passwor:")
    15                 if user_name==_user_name and user_password==_user_password :
    16                     user_status=True
    17                     print("welcome login")
    18                 else:
    19                     print("usename or password is wrong")
    20             if user_status==True:
    21                 ret=func(*args,**kwargs)
    22                 return ret
    23         return inner
    24     return out_wrapper
    25 
    26 def home():
    27     print("主页")
    28 
    29 @login("sd")
    30 def henan(name):
    31     print("河南",name)
    32 @login()
    33 def guangdong():
    34     print("广东")
    35 
    36 
    37 '''
    38 #hennan=login(hennan)这个打印出来的是内存地址======
    39 # print(hennan)
    40 '''
    41 
    42 henan("河南页面")
    43 guangdong()
    View Code
  • 相关阅读:
    mysql 插入字段 字符串
    python---统计列表中数字出现的次数
    pycharm激活
    Jmeter遇到的坑
    通用接口测试用例设计【转】
    selenium系列------元素定位套路
    jmeter系列-------注意事项
    jmeter系列-------脚本编写格式
    jmeter系列------变量的提取
    jmeter系列------参数关联
  • 原文地址:https://www.cnblogs.com/JIM-FAN/p/8495667.html
Copyright © 2011-2022 走看看