博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python functions as objects
阅读量:5282 次
发布时间:2019-06-14

本文共 954 字,大约阅读时间需要 3 分钟。

第5章

1.First-Class function

这里的first-class 的意思是        一个函数可以作为对象,在另一个函数中返回

 

metaclass programming中 也有 first-class class的概念,也就是说   类  可以作为对象,   在另外一个类中  创建,返回

 

 

2. 函数参数

 

 

 

 

def foo(a, b=1, *args, d, **kwargs):    print(a, b, args, d, kwargs)foo(1, 2, 3, 4, 5, d=6, e=7, f=8)

  

 

 

 

 

第6章

设计模式中   Strategy    和   Command   虽然很相似,但是关注点不一样

Strategy 模式 :

  注重算法的可替代性,算法可以封装成为一个函数对象,这个函数对象是可以更换的

 

Command 模式:

  涉及invoker  和  receiver

 

 

 

第七章

总感觉有点绕,看的懂,写的时候不会写,所以背下来这两种经典写法

 

不带参数的decorator的经典写法

def decoratorFunctionName(func):    @functools.wraps(func)    def wrapper(*args, **kwargs):        ***前置的代码***        return func(*args, **kwargs)    return wrapper

  

带参数的decorator的经典写法

def decoratorFunctionName(decoratorArguments):    def decorator(func):        @functools.wrapper(func)        def wrapper(*args, **kwargs):            ***前置的代码中可以使用decoratorArguments***            return func(*args, **kwargs)        return wrapper    return decorator

  

 

转载于:https://www.cnblogs.com/eeechoo/p/9013405.html

你可能感兴趣的文章
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>