class Criminal():def __init__(self, name, sex):self.name = nameself.sex = sexprint("%s是%s的" %(name,sex))def city(self,city):print("来自于%s" %(city))
# 导入 inspect 包
import inspect
# 查看签名(Criminal) signture 签名(识别标识)
n1 =inspect.signature(Criminal)
print(n1)# (name, sex) inspect.signature(Class)是(name, sex)
print(type(n1))# <class 'inspect.Signature'>
# inspect.signature(Class)的类型是<class 'inspect.Signature'># 查看签名(Criminal)的参数
n2 = inspect.signature(Criminal).parameters
print("inspect.signature(Criminal).parameters属性是")
print(n2)# OrderedDict([('name', <Parameter "name">), ('sex', <Parameter "sex">)])
print("inspect.signature(Criminal).parameters属性类型是")
print(type(n2)) # <class 'mappingproxy'>
"""Parameter 参数 , OrderedDict 顺序字典 是一种有秩序的字典 , mappingproxy 映射代理
"""
# 查看签名(Criminal)的参数的字典
n3 = inspect.signature(Criminal).parameters.items()
print(n3)
# 打印出来的是一个元组 odict_items([('name', <Parameter "name">), ('sex', <Parameter "sex">)])# 字典里面的key是属于什么类型呢?
# 因为字典里面只有两个参数,那么创建两个参数来赋值看看
for fn1,fn2 in n3:print(fn1,fn2)# name name sex sexprint("第一个参数类型是%s,第二个参数类型是%s" % (type(fn1),type(fn2)))# odict_items([('name', <Parameter "name">), ('sex', <Parameter "sex">)]) 列表中的元组 这个有难度# 第一个参数类型是<class 'str'>,第二个参数类型是<class 'inspect.Parameter'> 查看.参数 fn2kind= fn2.kindprint(fn2kind)# POSITIONAL_OR_KEYWORD 位置或者关键字print(type(fn2kind))# <enum '_ParameterKind'> 枚举 参数种类fn2default = fn2.default # 默认值print(fn2default)# <class 'inspect._empty'> 类型 查看 空的print(type(fn2default))# <class 'type'> 类型
# 查看参数 仅限关键字
n4 = inspect.Parameter.KEYWORD_ONLY
print(n4)# KEYWORD_ONLY 仅限关键字
print(type(n4))
# <enum '_ParameterKind'> 枚举 参数种类
"""补充items()的知识Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。zidian = {"abc":"英文字典","大哥":"中文字典"}print(zidian.items())得到的输出为 元组数据 dict_items([('abc', '英文字典'), ('大哥', '中文字典')])
"""
“”"
女生喜欢帅哥,有钱的。
我羡慕这种男生。
他们拥有过很多女孩的青春。
而我,拼了命的努力才能拥有一个他们拥有过的女孩。
“”"