zoukankan      html  css  js  c++  java
  • python基础一 day13 复习

    # 函数 —— 2天
    # 函数的定义和调用
    # def 函数名(形参):
    #函数体
    #return 返回值
    #调用 函数名(实参)
    # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),**kwargs
    # 站在实参的角度上 : 按照位置传,按照关键字传
    # 返回值:没有返回值 返回一个值 返回多个值
    # 接收返回值:没有返回值不接收,返回一个值用一个变量接收,返回多个值用一个变量或者对应数目的变量接收
    # 闭包函数 —— 在内部函数引用外部函数的变量
    # 装饰器函数—— 装饰器一定是闭包函数
    # 装饰器的作用 : 在不改变原来函数的调用方式的情况下 在这个函数的前后添加新的功能
    # 完美的符合了一个开发原则 :开放封闭原则
    # 对扩展是开发的
    # 对修改是封闭的
    # 基础的装饰器
    # from functools import wraps
    # def wrapper(func):
    # @wraps(func)
    # def inner(*args,**kwargs):
    # '''在函数被调用之前添加的代码'''
    # ret = func(*args,**kwargs) # func是被装饰的函数 在这里被调用
    # '''在函数被调用之后添加的代码'''
    # return ret
    # return inner
    # 使用 —— @wrapper
    # @wrapper
    # def func(): #inner
    # pass
    #
    # func.__name__
    # 带参数的装饰器
    # @wrapper -- > @warapper(argument)
    # 三层嵌套函数
    # def outer(形参):
    # def wrapper(func):
    # def inner(*args,**kwargs):
    # '''在函数被调用之前添加的代码'''
    # ret = func(*args,**kwargs) # func是被装饰的函数 在这里被调用
    # '''在函数被调用之后添加的代码'''
    # return ret
    # return inner
    # return wrapper
    # @outer(True)
    # def func():
    # pass
    # 多个装饰器装饰一个函数
    # 俄罗斯套娃

    #def wrapper1(func):
    # @wraps(func)
    # def inner(*args,**kwargs):
    # print('before 1')
    # print('******')
    # ret = func(*args,**kwargs) # func是被装饰的函数 在这里被调用
    # '''在函数被调用之后添加的代码'''
    # return ret
    # def wrapper2(func):
    # @wraps(func)
    # def inner(*args,**kwargs):
    # print('before 2')
    # ret = func(*args,**kwargs) # func是被装饰的函数 在这里被调用
    # '''在函数被调用之后添加的代码'''
    # return ret
    # @wrapper1
    # @wrapper2
    # def func():
    # print('111')
    # 迭代器和生成器 —— 两天
    # 内置函数 —— 两天
  • 相关阅读:
    Spring Boot2 系列教程(二十)Spring Boot 整合JdbcTemplate 多数据源
    Spring Boot 如何给微信公众号返回消息
    Spring Boot2 系列教程(十九)Spring Boot 整合 JdbcTemplate
    Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置
    Spring Boot 开发微信公众号后台
    Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
    Spring Boot2 系列教程(十六)定时任务的两种实现方式
    Spring Boot2 系列教程(十五)定义系统启动任务的两种方式
    Spring Boot2 系列教程(十四)CORS 解决跨域问题
    JavaScript二维数组
  • 原文地址:https://www.cnblogs.com/wang-tan/p/11062320.html
Copyright © 2011-2022 走看看