今日主要内容 1. 动态传参(重点) *, ** *, ** : 形参: 聚合 位置参数* -> 元组 关键字** -> 字典 实参: 打散 列表, 字符串, 元素 -> * 字典 -> ** 形参顺序(重点): 位置, *args, 默认值, **kwargs 无敌传参 def func(*arg ...
分类:
其他好文 时间:
2019-01-02 17:25:51
阅读次数:
227
回顾一下 函数名的本质就是函数的内存地址 1可以被引用 2可以当做容器类性的元素 3可以当做函数的参数和返回值 一、闭包 闭包的含义:内部函数引用外部作用域(非全局)的变量 (内部函数指的是函数内部定义的函数) 有与有了作用域的关系,我们就不能拿到函数内部的变量和函数了。如果我们有需求就是想拿到那怎 ...
分类:
编程语言 时间:
2019-01-02 15:48:43
阅读次数:
256
1、谈谈闭包? (产生条件、是什么、在哪里、作用、生命周期、缺点) 产生闭包的三个条件: 函数嵌套 内部函数引用外部函数的局部变量 执行外部函数 包含被引用的局部变量的一个"对象", 通过 chrome 开发者工具可以调试查看到,就是 closure,它存在嵌套的内部函数中 作用: 延长了局部变量的 ...
分类:
其他好文 时间:
2018-12-30 21:58:36
阅读次数:
221
三元运算符 参数: 实参 : 1.位置参数 2. 关键字参数 3. 混合参数 形参 : 1.位置参数 2. 默认值参数 动态传参: 1. 动态接收位置参数 2.接收默认值参数 三种参数顺序 : 位置参数, 动态参数*, 默认值参数 3.动态接受关键词参数 最终顺序(*): 位置参数 > *args ...
分类:
其他好文 时间:
2018-12-29 23:20:27
阅读次数:
177
函数内部的变量,如果和函数被调用的外部的变量一样的话,就被PyCharm中叫做shadows name 这样的话,容易引发不容易觉察到的,由于函数内部和外部的变量名一致而引发的一些问题: 比如:内部函数名引用时不小心写错了时,就会导致其实调用了外部变量名,从而导致逻辑错乱。 所以解决办法是: 确保函 ...
分类:
编程语言 时间:
2018-12-24 23:29:36
阅读次数:
425
最近看到一个面试题如下: 最后的输出结果是10而不是20,是不是很差异,不是有作用域链吗,不是内部函数有权访问外部函数的变量吗,世界怎么了,之前的理论都崩塌了吗??囧。。。 其实不是的,之前的理论没错,只是自己的理解有问题。函数执行时确实是沿着作用域链查找变量的,问题是什么是作用域链?红宝书上的解释 ...
分类:
其他好文 时间:
2018-12-21 01:08:29
阅读次数:
234
闭包 以上代码是最基本的闭包的形成.当outter函数开始调用的时候,它内部就形成了一个闭包,这个闭包存在使用了outter函数的a变量的inner函数的作用域中.所以当inner函数调用的时候,才能够仍然访问到outter函数的a变量. 所以可以看到闭包的一些特性. 闭包的形成: 当外部函数的执行 ...
分类:
编程语言 时间:
2018-12-20 00:01:44
阅读次数:
170
1、内存泄露:一般由于开发者使用不当导致不用的内存没有被操作系统或者空闲内存池回收释放。 2、造成内存泄露的常见原因: 1) 意外的全局变量引起的内存泄露 2)闭包引起的内存泄露 闭包可以维持函数内局部变量,使其得不到释放。 上例定义事件回调时,由于是函数内定义函数,并且内部函数--事件回调的引用外 ...
分类:
编程语言 时间:
2018-12-19 12:53:45
阅读次数:
220
前因: 思路: 1.找到sql_text,sql_id 2.查看执行计划 3.查询sql涉及对象的对象数据量,段大小,行数量,where条件列,是否存在索引,列的选择读情况如何 4.总结,优化整改 1.找到sql_text,sql_id 2.查看执行计划 GROUP_NO NOT NULL NUMB ...
分类:
数据库 时间:
2018-12-18 22:41:44
阅读次数:
233
装饰器:本质就是函数,功能是为其他函数添加附加功能。 两个原则: 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 一个栗子 需求:要想计算上述函数的运行时间,既不修改被修饰函数的源代码,又不修改被修饰函数的调用方式,关键还要能添加进附加功能,如何实现? 如下,初级版本一:直接修改了被修 ...
分类:
其他好文 时间:
2018-12-14 23:30:09
阅读次数:
321