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 知识点记录的更多相关文章

  1. C#知识点记录

    用于记录C#知识要点. 参考:CLR via C#.C#并发编程.MSDN.百度 记录方式:读每本书,先看一遍,然后第二遍的时候,写笔记. CLR:公共语言运行时(Common Language Ru ...

  2. spring mvc开发过程知识点记录

    给一个客户做的一个小项目,需求就是输入类似一个短网址http://dd.yy/xxxx然后跳转到另外一个域名下的图书文件.(实际很多短网址站都提供API供调用吧,不过客户需求是他自己建立一个短网址服务 ...

  3. javascript知识点记录(1)

    javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...

  4. JavaScript算法与数据结构知识点记录

    JavaScript算法与数据结构知识点记录 zhanweifu

  5. DB知识点记录

    DB知识点记录 分页 SqlServer:ROW_NUMBER () over (ORDER BY ID) AS RN, MySql:limit Oracle:ROWNUM AS RN 数据表的基本结 ...

  6. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之知识点记录

    前言:使用PHP和MySQL开发后台管理系统的过程中,发现有一些通用的[套路小Tip],这里集中记录一下.结合工作中ing的后台业务,我逐渐体会到:除了技术知识外.能使用户体验好的“使用流程设计”积累 ...

  7. 计算机二级C语言选择题错题知识点记录。

    计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...

  8. Javascript知识点记录(三)设计模式

    Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...

  9. Javascript知识点记录(二)

    Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...

随机推荐

  1. hbase记录-备份脚本参考

    #!/bin/sh ################################## # CreateDate:// : # ModifyDate:// : ################### ...

  2. Hbase记录-备份与恢复方案推荐

    热备份和冷备份参考方案,如在生产环境,请结合业务情况考虑

  3. Timus 1132 Square Root(二次剩余 解法2)

    不理解,背板子 #include<cstdio> using namespace std; int Pow(int a,int b,int p) { ; ) ) res=1LL*a*res ...

  4. Part-Four

    1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

  5. 编辑距离算法以及它的C#实现

    原文:https://www.cnblogs.com/shihuajie/p/5772173.html 注意,原文中有以下表述不当的地方 “扫描两字符串(n*m级的),如果:str1 == str2[ ...

  6. 【十二】jvm 性能调优工具之 jhat (JVM Heap Analysis Tool)

    jhat也是jdk内置的工具之一.主要是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言. jhat 非常耗费cpu和内存,所以一般不使 ...

  7. 认证加密算法php hash_hmac和java hmacSha1的问题

    public class Test{ public static void main(String[] args) throws Exception { String postString = &qu ...

  8. 对两个数求和的str_echo函数

    void str_echo(int sockfd) { long arg1, arg2; ssize_t n; char line[MAXLINE]; for ( ; ; ) { ) { return ...

  9. redis的持久化方案

    Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种方式的持久化,一种是RDB方 ...

  10. XXE攻防技术

    http://bobao.360.cn/learning/detail/3841.html http://www.freebuf.com/articles/web/97833.html http:// ...