【摘要】假设今天我中了500万,我打算在北京买一个厕所,厕所的功能就是大小便,我觉得需要加点什么,给厕所改造一下,但是要保证厕所的功能,添加一面镜子,再来个热水器,装个喷头。一个三星级厕所打造成功。这个过程就和我们的装饰器差不多了,这就是被称之为神器的装饰器。

1、装饰器本质就是函数 功能是为其它的函数添加功能

2、原则是1,不改变修饰函数的源代码 2, 不修改修饰函数的调用方式

3、传入参数我们尽量使用可变参数,毕竟你如果你不清楚原函数的参数情况那就麻烦了,当然也可以使用固定参数,

二、偏函数

Python的functools(reduce函数也来源于这个模块)模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数不等于数学意义上的偏函数

在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下:

偏函数在这里起到一个辅助的作用

我们以 int()为例

>>> int('123456')

123456

其实int 还可以转换进制,

但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换:

>>> int('12345', base=8)

5349

>>> int('456', base=8)

302

但是每次让我们这样传入base 有点麻烦

可以自己写一个函数

def int8(string): return int(string, base=8)print(int8('84569'))#302

>> import functools

>>>int2=functools.partial(int,base=2)

>>>int2('1000000') #64

>>> int2('1010101') #85

这里,我们应该清楚,这里int是指传入二进制的字符串转换成十进制,并不是base=2,就将传入的字符串转换成二进制。

python求助神器_【python从零开始(被称之为神器的装饰器)】- 环球网校相关推荐

  1. python遇到对象_### python面对对象小汇总 #####

    python面对对象小汇总 类的起名规则 # 所有的类名要求首字母大写,多个单词使用驼峰式命名法 如 ValueError # 类中方法: 普通方法 类方法 静态方法 魔术方法 class Phone ...

  2. python 公开课_【python公开课|学好python前,必须掌握这篇Python for 循环语句,还不会就快来看看】- 环球网校...

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...

  3. python 病毒 基因_#Python#提取基因对应的蛋白质名

    提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...

  4. python资源库网校_【分享|4个常用python程序库竟然是他们,来看看你认识吗】- 环球网校...

    [摘要]当今世界充满了各种数据,而python是其中一种的重要组成部分.现如今随着人们对python的了解逐渐加深,有关于python程序库的问题也随之出现在大家的视野中,当然这也说明了大家对于这个行 ...

  5. python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...

  6. python画大象_[python实现设计模式]-2.模板方法模式---把大象关进冰箱.

    平时大家上班都很累,为了增加工作中的欢乐气氛,黄页组准备搞个游戏. 游戏的名字是把大象关进冰箱.游戏很简单,需要把指定的物品放进冰箱. 我们都知道,把大象放进冰箱,分3步. 第一步,打开冰箱门,第二步 ...

  7. Python函数基础3 函数对象、名称空间、装饰器

    今日内容 1.函数对象 2.名称空间与作用域 3.函数的嵌套调用与闭包 4.装饰器 一.函数对象 1.1 定义 函数名存放的就是函数地址,所以函数名也就是对象,称之为函数对象 1.2 函数对象的应用 ...

  8. python作用域的理解-python中对变量的作用域LEGB、闭包、装饰器基本理解

    一.作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量 ...

  9. python之路-列表生成式、迭代器、生成器、装饰器

    1.列表生成式,迭代器&生成器 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1. 普通版 a = [0,1,2,3 ...

最新文章

  1. 利用循环打印杨辉三角形
  2. SAP QM维护检验计划指派取样策略时候报错:Sampling procedure is not permitted for insp.point-related inspection
  3. java 解析注解_Java知识点总结(注解-解析注解)
  4. C++ Stack 与String
  5. 由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起
  6. js总结:对于字符串的切割截取和合并
  7. 宠物次元经济专题分析2020
  8. 我的Oracle 9i学习日志(11)--重做日志文件及练习
  9. MySQL调用存储过程和函数
  10. 微前端single-spa vue3 实战落地
  11. Android Retrofit
  12. Axis2 报错 Faulty Services
  13. CryEngine5.3 问题
  14. 如何防止亚马逊账号被关联?
  15. R语言回归分析-改进异常值
  16. 最小生成树(克鲁斯卡尔算法 普里姆算法)
  17. 计算机二级请假条,请假条的范文标准版
  18. 【电力电子】【2007.05】三相多电平逆变器的研究与分析
  19. pycharm设置中文,字体颜色修改,设置背景图片(图文讲解)
  20. BSON和JSON的区别

热门文章

  1. 互联网晚报 | 周杰伦起诉网易不正当竞争案庭审结束;特斯拉中国工厂普通工人月薪1万块;SpaceX“星舰”发射计划推迟...
  2. 去除IE自带的输入框清除按钮
  3. python富翁与穷人_穷人和富人就差1%的运气——python模拟社会财富分配游戏
  4. 常用的logo设计技巧
  5. QT根据参数绘制图形+重复绘制路径的简单方法(QT系列8)
  6. 图片url显示服务器,服务器上图片的url地址
  7. The Hidden Agenda User Simulation Model翻译
  8. Tik Tok怎么赚钱?零基础电商卖家新手快速入行指南
  9. Postgresql语句持续更新
  10. 云网融合驱动数据中心技术聚变