码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器2

时间:2017-06-19 22:00:08      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:blog   keyword   返回   pytho   span   oba   return   key   inner   

 

 

#-*- coding:utf-8 -*-
static = False
def login(func):        #这里func,用来把被修饰的函数名以参数传可以入进来,然后
                          #就可以在装饰器函数中的任意位置进行调用被装饰的函数,就是18line
    def inner():
        name_ = ‘chenna‘
        keyword_ = ‘1234‘
        global static
        if static == False:
            name = (raw_input(‘输入用户名:‘)).strip()
            keyword = (raw_input(‘输入密码:‘)).strip()
            if name == name_ and keyword == keyword_:
                print ("登录成功")
                static = True
            else:
                print (‘你输入的用户名或者密码错‘)
        if static == True:
            func()     #在这里调用了被装饰函数,对应3line

    return inner      #这里返回装饰器的里面的嵌套的函数的内存地址.这样就把内存地址赋值给
                       #American,然后在调用americna(),就是在调用inner函数,对应line26

def firstage():
    print (‘欢迎进入首页‘)

@login    #相当于:在调用时的,american=login(american),
def american():
    print (‘欢迎进入欧美界面‘)
@login
def japan():
    print (‘欢迎进入日韩界面‘)

def china():
    print (‘欢迎进入中国界面‘)

american()

 

装饰器2

标签:blog   keyword   返回   pytho   span   oba   return   key   inner   

原文地址:http://www.cnblogs.com/luckycn/p/7050576.html

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