events.py 知识点记录
1._all_
__all__是一个字符串list,其他模块中使用from xxx import *的时候只能导入__all__列表里的内容
2.sys.version_info
获取版本号
import sys
print(sys.version_info)
输出
sys.version_info(major=3, minor=7, micro=2, releaselevel='final', serial=0)
比较时候
sys.version_info >= (3, 4) #是个元组
3.inspect.unwrap
装饰器的解包,前提是装饰器上添加了@wraps(func)装饰器。
参考链接:https://www.cnblogs.com/blackmatrix/p/6875359.html
4.__wrapped__获取被装饰之前的方法
5.判断是否是方法 inspect.isfunction
如果是输出True,否则False。
4-5涉及的代码
from functools import wraps
import inspect
def log(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args)
print(func.__name__,'has been called')
return result
return wrapper
#等价于add = log(add)
@log
def add(x, y):
result = x+y
return result
if __name__ == '__main__':
print(add(1, 3))
print(inspect.isfunction(int))
orig_add = add.__wrapped__
print(inspect.isfunction(orig_add))
print(orig_add(1,3))
输出
add has been called
4
False#int不是方法所以输出了Flase
True
#上面的是被装饰器装饰后的函数调用结果
#下面是被装饰前的函数的结果
4
6.__code__获取代码行数或者代码所在文件
用的还是4-5的代码
if inspect.isfunction(orig_add):
code = orig_add.__code__
print (code.co_filename, code.co_firstlineno)
输出
/Users/chennan/pythonproject/demo/asyncdemo/1.py 12
events.py 知识点记录的更多相关文章
- C#知识点记录
用于记录C#知识要点. 参考:CLR via C#.C#并发编程.MSDN.百度 记录方式:读每本书,先看一遍,然后第二遍的时候,写笔记. CLR:公共语言运行时(Common Language Ru ...
- spring mvc开发过程知识点记录
给一个客户做的一个小项目,需求就是输入类似一个短网址http://dd.yy/xxxx然后跳转到另外一个域名下的图书文件.(实际很多短网址站都提供API供调用吧,不过客户需求是他自己建立一个短网址服务 ...
- javascript知识点记录(1)
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...
- JavaScript算法与数据结构知识点记录
JavaScript算法与数据结构知识点记录 zhanweifu
- DB知识点记录
DB知识点记录 分页 SqlServer:ROW_NUMBER () over (ORDER BY ID) AS RN, MySql:limit Oracle:ROWNUM AS RN 数据表的基本结 ...
- 【千纸诗书】—— PHP/MySQL二手书网站后台开发之知识点记录
前言:使用PHP和MySQL开发后台管理系统的过程中,发现有一些通用的[套路小Tip],这里集中记录一下.结合工作中ing的后台业务,我逐渐体会到:除了技术知识外.能使用户体验好的“使用流程设计”积累 ...
- 计算机二级C语言选择题错题知识点记录。
计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...
- Javascript知识点记录(三)设计模式
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...
- Javascript知识点记录(二)
Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...
随机推荐
- 编译Hadoop 2.7.2支持压缩 转
hadoop Native Shared Libraries 使得Hadoop可以使用多种压缩编码算法,来提高数据的io处理性能.不同的压缩库需要依赖到很多Linux本地共享库文件,社区提供的二进制安 ...
- JAVA-Enum 枚举
[参考]枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开. 说明:枚举其实就是特殊的类,域成员均为常量,且构造方法被默认强制是私有. 正例:枚举名字为 ProcessSta ...
- LInux Zebra
本文章摘自linux公社 https://www.linuxidc.com/Linux/2015-07/120224p1.htm 写在前面 从22号中午开始琢磨zebra/quagga的用法,一直 ...
- Java 微信公众号迁移
背景:公众号换主体,要迁移,粉丝(openId)的业务数据要做处理. 第一步:参照我的另一篇文章,Java 导出微信公众号粉丝. 第二部:数据处理(master-worker模式) 程序主入口:Mai ...
- Elasticsearch学习笔记——安装、数据导入和查询
到elasticsearch网站下载最新版本的elasticsearch 6.2.1 ? 1 https://www.elastic.co/downloads/elasticsearch 中文文档请参 ...
- Part-One
首先,必须要声明一下,这个目录下的所有东西,是我对一本书复习,只是敲出部分代码让自己不至于眼高手低,其中有很多东西可能都是我的个人理解,如果有兴趣的朋友可以看一下,同时也欢迎大家指正. 1.Hello ...
- IP简介(一)
1. OSI模型 TCP是TCP/IP的第三层传输层,对应OSI的第四层传输层: IP是TCP/IP的第二层互联层,对应OSI的第三层网络层. TCP属于OSI中的运输层它是面向连接的协议: IP属于 ...
- Spark整合HBase,Hive
背景: 场景需求1:使用spark直接读取HBASE表 场景需求2:使用spark直接读取HIVE表 场景需求3:使用spark读取HBASE在Hive的外表 摘要: 1.背景 2.提交脚本 内容 场 ...
- vue使用字体图标转码问题
使用iconfont字体之后,出现的是一个方框,而没有出现相应的图标 需要通过String.fromCharCode方法转成指定unicode编码对应的十六进制字符 <div class=&qu ...
- 026、一张图搞懂docker(2019-01-21 周一)
参考https://www.cnblogs.com/CloudMan6/p/6961665.html