前言:在Python中,闭包是一种非常有用的功能!它通常与装饰器一起搭配使用,可以在不改变被装饰函数的功能的基础上,完成更多的功能。如权限认证。 一、如何定义闭包 1.闭包就是两个嵌套的函数,外层函数返回内层函数的引用,而且外层函数必须携带参数!为什么外层函数必须要有参数呢?可以思考一下! 基本格式 ...
分类:
编程语言 时间:
2018-04-20 00:19:59
阅读次数:
243
装饰器 作用:在不改变原函数功能的前提下,给现有函数新增功能 装饰器通过@来使用,相当于把原函数作为参数,传给现有函数 例1: 已有函数hello()如下,在hello()函数打印结果前后各加一行字符,作为现有函数的打印结果 def hello(): print("Hello World!") 例2 ...
分类:
其他好文 时间:
2018-04-18 00:57:41
阅读次数:
130
什么是装饰者模式,我们来查看它的定义: 在不改变原类文件以及不使用继承的情况下,动态地将责任附加到对象上,从而实现动态拓展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 简单理解就是利用装饰者模式,用于对同一种类进行加强,扩展的处理。 如果你理解了Python的装饰器,那么装 ...
分类:
其他好文 时间:
2018-04-15 21:50:42
阅读次数:
138
MHA的介绍 MySQL的MHA:MySQL的高级可用性管理器和工具MHA的主要目标是在短(通常为10-30秒)的停机时间内自动化主故障转移和slave升级,不受复制一致性问题的困扰,不需要花费大量的新服务器,没有性能损失,没有复杂性(易于安装),并且不改变现有的部署。MHA还提供了一种调度在线主切 ...
分类:
其他好文 时间:
2018-04-15 18:47:49
阅读次数:
683
有时候,按照视觉图做出来效果后,发现点击区域过小,不好点击,用户体验肯定不好。扩大视图,就会导致整个视觉图变得不好看。那么有没有什么办法在不改变视图大小的前提下扩大点击区域呢? 答案是有! 能够解决这个问题的前提你要对 View 的事件分发机制有一定的了解。 下面我将简单介绍一下View 的事件分发 ...
分类:
移动开发 时间:
2018-04-07 19:05:33
阅读次数:
218
给定一个单链表L:L0→L1→…→Ln-1→Ln,重新排列后为: L0→Ln→L1→Ln-1→L2→Ln-2→…必须在不改变节点的值的情况下进行原地操作。例如,给定链表 {1,2,3,4},按要求重排后为 {1,4,2,3}。详见:https://leetcode.com/problems/reor ...
分类:
其他好文 时间:
2018-04-06 12:27:11
阅读次数:
151
const对象必须初始化 赋值对const变量无影响,只要你不改变const变量。 2.4.1 const的引用 引用类型必须与所引用对象类型一致。 常量指针: int *const pt = &a; 指针为常量不可改变。 指针常量: int const *pt = &a; a为常量不可改变。 若a ...
分类:
其他好文 时间:
2018-04-05 21:00:12
阅读次数:
134
1重构和架构:重构:重构是在不改变代码行为的前提下,重写代码软件架构:优秀的架构可提升代码的复用性需要重构的原因什么情况下应该重构代码?我能重构自己的代码吗?重构的示例。2级联什么是?选择器特指是3编写更优质的css使用注释结构一致的规则表保持选择器的简单分离css和javascript使用类4为样式分类样式分类的重要性通用样式基础样式组件样式5测试需要测试的重点的浏览器第三方测试工具维护你的代码
分类:
Web程序 时间:
2018-04-04 16:47:07
阅读次数:
238
1.重排序 在执行程序时为了提高性能,编译器和处理器常常会对指令做重排序.重排序分三种类型: 1.编译器优化的重排序.编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序. 2.指令级并行的重排序.现代处理器采用了指令级并行技术(Instruction-Level Parallelism ...
分类:
编程语言 时间:
2018-04-04 15:12:06
阅读次数:
202