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

    #-*- 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()
    
  • 相关阅读:
    JVM和HotSpot
    java中的四种引用类型
    垃圾回收与算法
    Full GC
    JVM内存结构
    事务不同的隔离级别实现原理
    事务的隔离级别
    jQuery后续和 前端框架Bootstrap
    jQuery
    BOM和DOM操作
  • 原文地址:https://www.cnblogs.com/luckycn/p/7050576.html
Copyright © 2011-2022 走看看