一.背景 最近在看一个开源框架的源码,涉及到的内容非常杂乱,有的函数不知道是在什么时候被谁给调用了?调用的时候传入了什么参数?为了解决这个问题,写了一个小的装饰器. 二.实现 这个装饰器函数主要参考了logging模块中的findCaller,源码如下: def findcaller(func): def wrapper(*args,**kwargs): import sys f=sys._getframe() filename=f.f_back.f_code.co_filename linen…
[每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在python中具体的实现的方法有: print("请输入下列选项前的序号\n",\ "1.选择1\n",\ "2.选择2\n",\ "3.选择3") i = input() 结果: >>> print("请输入下…
快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承关系如何)这有些让人摸不着头脑,下面有个小技巧: 打开iOS Developer Library, 点击你想要了解的Framework,以UIKit为例,好多东西都是平级地放在一起的,根本看不下去了 然后在搜索框输入: Framework Reference,绝大多数情况下都会出现一个 xxx Fr…
关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字,必须转换成位图或者ctrl+b.也就是说:不管你怎么操作,文字必须不可编辑,只要文字还能编辑,发布出来的gif肯定文字是乱的,是个怪物. 4.上面的那个操作必须在补间动画创建前操作. 另外:我个人觉得,这是flash软件的问题,swf长啥样,gif应该也长啥样的.打散神马的应该在发布gif时检测,没…
Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如[root@servyou_web ~]# history | more 6 ./test.sh 7 vim test.sh 8 ./test.sh 但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间. 通过设置环境变量 export HISTTIMEFORMAT="%F %T `whoami` "…
Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3204   Accepted: 1300 Description Farmer John went to cut some wood and left N (2 ≤ N ≤ 100,000) cows eating the grass, as usual. When he returned, he found to his ho…
1. 概述: 我们在前面用了很多的装饰器这个工具的方法.这个位置要系统的讲一下装饰器. 1.2 为什么需要装饰器. 装饰器本质是一个Python函数,它可以让其他函数在不需要任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权限校验等场景.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重要. 概括的讲,装饰器的作用就是为已经存在的函数或端详添加额外的功能. 2…
Profiling with Traceview and dmtracedump In this document Traceview Layout         Traceview工具界面介绍 Timeline Panel  时间线面板 Profile Panel  数据面板 各行列介绍 Creating Trace Files  用代码生成trace文件 Copying Trace Files to a Host Machine 把trace文件从设备上拷贝出来 Viewing Trace…
说道这里我们需要稍微暂停一下.前面我们说到了类是作为一个对象存放容器.这个容器里面有属性和方法.最好的理解类的方式就是把类想想成一个容器. 然后构造了一个析构函数和构造函数,然后又对object和self进行了解释,最后又说了一下重写.我们发现类作为一个存放对象的容器,其类也是一个对象. 类也有自己的__main__,__init__,__class__等属性.我们发现了,越来越多的时候,在Python里面用了很多下划线来表示这些意思.下划线分双下划线和单下划线两种,一共又存在5中组合,这5中组…
1.调用栈 js中的this与函数调用栈密切相关.  this实在函数调用时发生的绑定,它指向完全取决于函数在哪里被调用.    2.示例 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>查看调用栈</title> </head> <body> <script type=…