python找对象函数 python查询对象类型( 六 )


getmembers(object[, predicate]):
这个方法是dir()的扩展版 , 它会将dir()找到的名字对应的属性一并返回,形如[(name, value), ...] 。另外,predicate是一个方法的引用,如果指定,则应当接受value作为参数并返回一个布尔值,如果为False,相应的属性将不会返回 。使用is*作为第二个参数可以过滤出指定类型的属性 。
getmodule(object):
还在为第2节中的__module__属性只返回字符串而遗憾吗?这个方法一定可以满足你 , 它返回object的定义所在的模块对象 。
get{file|sourcefile}(object):
获取object的定义所在的模块的文件名|源代码文件名(如果没有则返回None) 。用于内建的对象(内建模块、类、函数、方法)上时会抛出TypeError异常 。
get{source|sourcelines}(object):
获取object的定义的源代码,以字符串|字符串列表返回 。代码无法访问时会抛出IOError异常 。只能用于module/class/function/method/code/frame/traceack对象 。
getargspec(func):
仅用于方法,获取方法声明的参数,返回元组,分别是(普通参数名的列表, *参数名, **参数名, 默认值元组) 。如果没有值,将是空列表和3个None 。如果是2.6以上版本,将返回一个命名元组(Named Tuple),即除了索引外还可以使用属性名访问元组中的元素 。
def add(x, y=1, *z):
return x + y + sum(z)
print inspect.getargspec(add)
#ArgSpec(args=['x', 'y'], varargs='z', keywords=None, defaults=(1,))
getargvalues(frame):
仅用于栈帧,获取栈帧中保存的该次函数调用的参数值,返回元组,分别是(普通参数名的列表, *参数名, **参数名, 帧的locals()) 。如果是2.6以上版本 , 将返回一个命名元组(Named Tuple),即除了索引外还可以使用属性名访问元组中的元素 。
def add(x, y=1, *z):
print inspect.getargvalues(inspect.currentframe())
return x + y + sum(z)
add(2)
#ArgInfo(args=['x', 'y'], varargs='z', keywords=None, locals={'y': 1, 'x': 2, 'z': ()})
getcallargs(func[, *args][, **kwds]):
返回使用args和kwds调用该方法时各参数对应的值的字典 。这个方法仅在2.7版本中才有 。
getmro(cls):
返回一个类型元组 , 查找类属性时按照这个元组中的顺序 。如果是新式类,与cls.__mro__结果一样 。但旧式类没有__mro__这个属性,直接使用这个属性会报异常,所以这个方法还是有它的价值的 。
print inspect.getmro(Cat)
#(class '__main__.Cat', type 'object')
print Cat.__mro__
#(class '__main__.Cat', type 'object')
index在python中的用法如下python找对象函数:
1、index函数:用于从列表中找出某个值第一个匹配项python找对象函数的索引位置 。
2、index方法语法:list.index(x[, start[, end]]) 。
3、参数:x-- 查找的对象 。start-- 可选python找对象函数 , 查找的起始位置 。end-- 可选 , 查找的结束位置 。
4、返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常 。
5、实例:
代码:str1 = "this is string example....wow!!!";str2 = "exam" 。
index函数为print(str1.index(str2)) 。
python中index函数怎么用?
Python中index方法检测字符串中是否包含子字符串 str  , 如果指定 beg(开始) 和 end(结束) 范围 , 则检查是否包含在指定范围内 , 该方法与 python find方法一样,只不过如果str不在string中会报一个异常 。
index函数一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错 。
python查看对象内存地址的函数在python中可以用id()函数获取对象python找对象函数的内存地址 。

推荐阅读