inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等。
一、资料
- Python format 格式化函数
- python的class(类)中继承object 与不继承的区别
- inspect标准库
- inspect
- Flask vs Django
- numpy和pandas
- pip install指定目录
pip install python-dateutil --target /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
- ModuleNotFoundError
- Python 不愧是脚本之王
- Python3新特性-类型注解
- python3-cookbook
二、常用
id(object)
返回对象的“标识值”。该值是一个整数,在此对象的生命周期中保证是唯一且恒定的。- 两个生命期不重叠的对象可能具有相同的id()值。
isinstance(object, classinfo)
,如果参数object
是参数classinfo
的实例或者是其(直接、间接或 虚拟)子类则返回True。- 如果
classinfo
是类型对象元组(或由其他此类元组递归组成的元组),那么如果object
是其中任何一个类型的实例就返回True
。
- 如果
type()功能和isinstance类似,用来判断一个对象是否是一个已知的类型。
- type()不会认为子类是一种父类类型,不考虑继承关系。
- isinstance()会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用isinstance()。
- Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
==
是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等is
也被叫做同一性运算符,用来比较判断的是对象间的唯一身份标识id是否相同- 只有数值型和字符串型的情况下,
a is b
才为True
- 当
a
和b
是tuple
,list
,dict
或set
型时a is b
为False
。
- 只有数值型和字符串型的情况下,
- demo
1 | b = 5 |
-
- logging库中的Python2中的方法warn在Python3中换成了warning
1
2
3
4
5
6
7
8
9
10
11
12
13
14import logging
import sys
log = logging.getLogger()
log.setLevel(logging.DEBUG)
std = logging.StreamHandler(sys.stderr)
log.addHandler(std)
log.debug('debug msg')
log.info('info msg')
log.error('error msg')
log.warn('warn msg') #Python2中的写法
log.warning('warn msg') #Python3中的写法- print函数
- python2支持
print("hello")
和print "hello"
- python3只支持
print("hello")
- python2支持
id/is/==
1 | b = 5 |
- isinstance
1 | item = 'abc' |
- type
1 | i = 123 |
- list遍历的几种方法
- tuple遍历一样
1 | # -*- coding: utf-8 -*- |
- 遍历集合
1 | # -*- coding: utf-8 -*- |
- 遍历字典(python3)
1 | # -*- coding: utf-8 -*- |
- 格式化输出json
1 | # -*- coding: utf-8 -*- |