isinstance
isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型。
语法:
isinstance(object, classinfo)
如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。
如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的。
如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
isinstance使用:
>>> isinstance(1, int)
True
>>> isinstance(1.0, float)
True
>>>isinstance(1,(int,float))
True
>>> class Myclass:
pass
>>> test = Myclass()
>>> isinstance(test, Myclass)
True
argparse
argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。当然,Python 也有第三方的库可用于命令行解析,而且功能也更加强大,比如 docopt,Click。
argparse使用
可选参数,有两种方式:
一种是通过一个-来指定的短参数,如-h;
一种是通过–来指定的长参数,如–help
这两种方式可以同存,也可以只存在一个。
action=“store_true”,使得不需要指定参数值。
default=False, 设置默认值为False
help = ‘’, 自定义帮助信息
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
"-p",
"--http",
action="store_true",
default=False,
help="Whether launch a bottle server to serve qrcode."
)
args = parser.parse_args()
if args.http:
print(args)
print(vars(args))
将上面的代码保存为文件parser.py在终端运行,结果如下:
$ python parser.py -h
usage: parser.py [-h] [--http]
optional arguments:
-h, --help show this help message and exit
--http Whether launch a bottle server to serve qrcode.
$ python parser.py --http
Namespace(http=True)
{'http': True}
vars()函数返回对象object的属性和属性值的字典对象。
更多argparse使用方法可以点击此链接