zoukankan      html  css  js  c++  java
  • day5学python 基础+装饰器内容

    基础+装饰器内容

      递归特性
    # 1.必须有一个明确的结束条件
    # 2.每次进入更深一层递归时,问题规模相比上次递归应有所减少
    # 3.递归效率不高
    def run(n):
        print(n)
        if int(n/2)>0:
            return run(n / 2)
        print("-->",n)
    run(10)

    =============================================================

      局部变量与全局变量知识

    1.全局变量中 数字/字符串不能在函数中修改 列表和字典可以修改

    names=["xiao","mibg","ming"]
    def change():
        names[0]="cf"
        print(names)
    change()
    print(names)

    ==============================================================

    函数即”变量“! (函数名-代表函数地址 || 函数名()-代表调用函数)

      高阶函数

    1 把一个函数名当作实参传给另一个函数(在不修改被装饰函数源代码的情况下为其添加功能)

    2 返回值中包含函数名(不修改函数的调用方式)

    ==============================================================

      装饰器

    高级函数+嵌套函数==>装饰器  #嵌套函数-函数套着函数

    # 定义:本质是函数,(装饰其他函数)为其他函数添加附加功能
    # 原则: 1.不能修改被装饰的函数的源代码
    # 2.不能修改被装饰的函数的调用方式
    import time
    
    user,word="cf","123"
    def auth(auth_type):  
        print("auth_type",auth_type)
        def out_wrapper(func): 
            def wrapper(*args,**kwargs):
                if(auth_type=="local"):
                    usename=input("usename:").strip()
                    psword= input("psword:").strip()
                    if(user==usename and psword==word):
                        print("33[32;1m HI boy 33[0m")
                        func(*args,**kwargs)
                    else:
                        exit("failed")
                elif(auth_type=="ldap"):
                    func()
            return wrapper
        return out_wrapper
    def index():
        print("index")
    
    @auth(auth_type="local")       #home=auth(local)==>wrapper()
    def home():
        print("home")
    @auth(auth_type="ldap")
    def bbs():
        print("bbs")
    
    index()
    home()
    bbs()
  • 相关阅读:
    思考:学习redis的数据结构应该从三个维度来学习?
    思考:一个程序员老说不会碰到或者用到复杂的数据结构或者算法,是这样吗?
    思考:软件系统设计的(前期)权衡?
    思考:一个推荐引擎工程师的能力覆盖
    思考:关于服务架构的取舍:
    模拟斗地主真人在线发牌
    java反射机制
    C-练习题
    java-线程的生命周期
    生产者和消费者模型
  • 原文地址:https://www.cnblogs.com/cc123nice/p/10468446.html
Copyright © 2011-2022 走看看