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属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...
随机推荐
- Linux CGroup
catalog . 引言 . Cgroup安装配置 . Cgroup使用方式 . CGroup的子系统 1. 引言 我们已经讨论了Linux下命名空间(Namespace)的基本知识,详情请参阅另一篇 ...
- C++ 对象实例化(转)
C++ 对象实例化的一些概念: C++ 如果直接定义类,如classA a; a存在栈上(也意味着复制了对象a在栈中):如果classA a = new classA就存在堆中. 一.new创建类 ...
- MySQL最优配置模板( 5.6&5.7)(运维那点事)
MySQL 5.6&5.7配置文件(姜总提供) [mysql] default-character-set=utf8mb4 user = root password = 123456 port ...
- Canvas判断内容为空
如题,项目需要做一个canvas的绘图工具,绘制图纸传递给后台.因此需要做一个非空验证,记录解决方法祝大家早日脱坑. js验证代码: //验证canvas画布是否为空函数function isCanv ...
- Golang入门教程(十七)Linux/Windows下快速搭建和配置NSQ
前言 NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消 ...
- npm离线安装插件
公司内部网络与外部网络隔离,导致npm无法通过npm install安装,只能通过离线安装. 要求: 两台机器(内网一台,外网一台) 两台机器上都已安装好的node和npm 以内网机器安装ftpsyn ...
- 【二】Spring Cloud 入门
官网 版本号: SpringCloud中文网:https://springcloud.cc SpringCloud中文社区:http://springcloud.cn 以下代码就是Maven父子工程, ...
- ASP.NET Web API 2 之文件下载
Ø 前言 目前 ASP.NET Web API 的应用非常广泛,主要承载着服务端与客户端的数据传输与处理,如果需要使用 Web API 实现文件下载,该 实现呢,其实也是比较简单,以下示例用于下载安 ...
- linux上安装mysql,tomcat,jdk
Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a) 查看安装哪些jdk rmp –qa |grep java b) ...
- 深度学习 ——style reconstruction
多层神经网络的实质就是为了找出更复杂,更内在的features...图像的style, how to describe, impossible! 但是人眼却可以分辨. (参考论文 A Neural a ...