java中'javap'的python等价物是什么?

时间:2017-10-07 20:46:19

标签: python

如何通过Python定义的命令行查看类方法?

在java中,如果我想查看Scanner类的所有方法,那么我可以这样做:

javap *full_class_name*

示例:

 user@hostname:~$ javap java.util.Scanner
    Compiled from "Scanner.java"
    public final class java.util.Scanner implements java.util.Iterator<java.lang.String>, java.io.Closeable {
      static final boolean $assertionsDisabled;
      public java.util.Scanner(java.lang.Readable);
      // etc. ...
    }

我想在python中看到一个类的所有方法,我该怎么办?我希望能够在编码时查找可用的方法;我是初学者,不想每次都要搜索互联网。

1 个答案:

答案 0 :(得分:2)

您可以使用pydoc library获取Python对象的帮助,包括方法:

$ python -m pydoc str
Help on class str in module builtins:

class str(object)
 |  str(object='') -> str
 |  str(bytes_or_buffer[, encoding[, errors]]) -> str
 |
 |  Create a new string object from the given object. If encoding or
 |  errors is specified, then the object must expose a data buffer
 |  that will be decoded using the given encoding and error handler.
 |  Otherwise, returns the result of object.__str__() (if defined)
 |  or repr(object).
 |  encoding defaults to sys.getdefaultencoding().
 |  errors defaults to 'strict'.
 |
 |  Methods defined here:
 |
 |  __add__(self, value, /)
 |      Return self+value.
 |
 |  __contains__(self, key, /)
 |      Return key in self.
# .... etc.

如果您已经打开了Python解释器,则可以使用内置的help() function来访问相同的信息。