如何在python中快速搜索类的公共方法

时间:2018-05-07 04:40:07

标签: python

我曾经用Java编程,Java的一个好处是,总是很容易找出什么类类型是对象,我习惯于Java API文档格式来浏览类提供的方法。当我面对新的第三方软件包时,这是一个优势。

然而,当我学习python时,有一件让我感到沮丧的事情就是不容易快速看到(没有编写额外的代码)什么类类型是一个对象(特别是对于从一系列方法返回的对象)和与Java相比,API文档缺乏一致性。因此,在python中使用新包时比使用Java时更难。

我错过了python中的任何技巧或原则或者什么?拿起新包装时每个人都会怎么做?非常感谢任何指南。

1 个答案:

答案 0 :(得分:1)

在使用新库时,我发现以下几点非常有用。

您可以使用type()函数查看未知对象的类或类型:

>>> import datetime
>>> n = datetime.datetime.now()
>>> type(n)
<type 'datetime.datetime'>

如果您想知道对象有哪些方法和属性,可以使用dir()函数:

>>> dir(n)
['__add__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'astimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fromordinal', 'fromtimestamp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'min', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 'strptime', 'time', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year']

您可以在python控制台中使用help()函数来查看模块或函数的帮助文本:

>>> help(n.isocalendar)
Help on built-in function isocalendar:

isocalendar(...)
    Return a 3-tuple containing ISO year, week number, and weekday.

希望有所帮助!