给定任何类型的Python对象,是否有一种简单的方法来获取该对象具有的所有方法的列表?
要么,
如果不可能,那么是否至少有一种简单的方法来检查它是否具有特定的方法,而不仅仅是在调用该方法时检查是否发生错误?
对于许多对象 ,您可以使用以下代码,将“ object”替换为您感兴趣的对象:
object_methods = [method_name for method_name in dir(object)
if callable(getattr(object, method_name))]
我在diveintopython.net(现已存档)中发现了它。希望可以提供更多详细信息!
如果得到AttributeError
,则可以改用:
getattr(
不能容忍熊猫风格的python3.6抽象虚拟子类。此代码与上面的代码相同,并且忽略异常。
import pandas as pd
df = pd.DataFrame([[10, 20, 30], [100, 200, 300]],
columns=['foo', 'bar', 'baz'])
def get_methods(object, spacing=20):
methodList = []
for method_name in dir(object):
try:
if callable(getattr(object, method_name)):
methodList.append(str(method_name))
except:
methodList.append(str(method_name))
processFunc = (lambda s: ' '.join(s.split())) or (lambda s: s)
for method in methodList:
try:
print(str(method.ljust(spacing)) + ' ' +
processFunc(str(getattr(object, method).__doc__)[0:90]))
except:
print(method.ljust(spacing) + ' ' + ' getattr() failed')
get_methods(df['foo'])
问题内容: 在python中找到对对象的所有引用的好方法是什么? 我问的原因是看起来我们有“内存泄漏”。我们正在将图像文件从Web浏览器上传到服务器。每次执行此操作时,服务器上的内存使用量都会与刚刚上传的文件的大小成比例地增加。python垃圾回收永远不会释放该内存,因此我认为即使在每次请求结束时,也可能存在指向图像数据的流浪引用,这些引用并没有被删除或超出范围。 我认为能够问python很好:“
问题内容: 是否有可能从具有特定属性的数组中获取对象?还是我需要遍历数组中的所有对象并检查属性是否是我正在寻找的特定对象? 编辑:谢谢你给我正确的方向,但我有一个转换此问题。 //再编辑一次:好的,如果只有一个特定的结果?这也是可行的方法吗? 问题答案: //这不起作用-NSArray不是Images的子类型-那么如果只有1种可能的结果怎么办? 您无法在编译时证明数组上只有一个可能的结果。您实际要
我有一个ArrayList,从ArrayList的末尾(即使用add(object)方法)以串行方式(即逐个)填充Integer类型的对象。每次我这样做,ArrayList中的其他对象都会左移一个索引。 在我的代码中,我想在ArrayList中找到一个随机对象的索引。我想避免使用indexOf方法,因为我有一个非常大的ArrayList,循环将花费大量时间。有什么解决办法吗?如何在某些数据结构中保
用命令findobj可以通过搜索带特定属性值的对象得到图形对象的句柄。用findobj,可以指定任何属性组合的值,这样要从多个对象选出一个就变的容易。例如,可能需要找出带有正方标记蓝色外观的蓝线。 也可以指定搜索哪个图形或轴。以下各节提供示例阐述如何用findobj命令。 查找所有某类型的对象 由于所有对象都具有一个用来辨别类型的类型属性,你可以查找所有某特定类型对象事件的句柄。例如, h = f
本文向大家介绍python实例化对象的具体方法,包括了python实例化对象的具体方法的使用技巧和注意事项,需要的朋友参考一下 python中同样使用关键字class创建一个类,类名称第一个字母大写,可以带括号也可以不带括号;python中实例化类不需要使用关键字new(也没有这个关键字),类的实例化类似函数调用方式; 创建类的对象(实例化类) python中实例化类不需要使用关键字new(也没有
问题内容: 我有一些复杂的对象,例如猫,它具有许多属性,例如年龄,喜爱的猫食等等。 Java集中存储了一堆猫,我需要查找所有3岁的猫,或者最喜欢猫粮的Whiskas。当然,我可以编写一个自定义方法来查找那些具有特定属性的Cat,但是这样做会麻烦许多属性。有一些通用的方法吗? 问题答案: 您可以编写一个采用接口实例的方法,该实例定义了一个方法,该方法可以通过所需的任何属性检查来实现。 更好的是,使其
问题内容: 在Go中,如何检查对象是否响应方法? 例如,在Objective-C中,可以通过执行以下操作来实现: 问题答案: 一个简单的选择是仅使用您要检查的方法声明一个接口,然后针对您的类型进行类型断言;例如: 如果您打算对自己的类型进行任何疯狂的操作,则可能要使用该软件包。http://golang.org/pkg/reflect
这里我试图用jpa从mysql数据库中获取数据,但是我被findby绊倒了,如何使用Crudepository spring数据jpa为下面的查询编写findby方法? 我试过这个,但它不工作: 我有这样的实体类: