my.py是来自http://woodpecker.org.cn/abyteofpython_cn/chinese/ch11s07.html的一段代码。内容如下:
#!/usr/bin/python
#-*-encoding:utf-8-*-
"""
这是一个测试
"""
class SchoolMember:
'''Represents any school member.'''
def __init__(self, name, age):
self.name = name
self.age = age
print '(Initialized SchoolMember: %s)' % self.name
def tell(self):
'''Tell my details.'''
print 'Name:"%s" Age:"%s"' % (self.name, self.age),
class Teacher(SchoolMember):
'''Represents a teacher.'''
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print '(Initialized Teacher: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Salary: "%d"' % self.salary
class Student(SchoolMember):
'''Represents a student.'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print '(Initialized Student: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Marks: "%d"' % self.marks
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)
print # prints a blank line
members = [t, s]
for member in members:
member.tell() # works for both Teachers and Students
进入my.py所在目录,运行命令:
bash >> pydoc my | cat
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)
Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"
Help on module my:
NAME
my - 这是一个测试
FILE
/home/letian/Desktop/my.py
CLASSES
SchoolMember
Student
Teacher
class SchoolMember
| Represents any school member.
|
| Methods defined here:
|
| __init__(self, name, age)
|
| tell(self)
| Tell my details.
class Student(SchoolMember)
| Represents a student.
|
| Methods defined here:
|
| __init__(self, name, age, marks)
|
| tell(self)
class Teacher(SchoolMember)
| Represents a teacher.
|
| Methods defined here:
|
| __init__(self, name, age, salary)
|
| tell(self)
DATA
member = <my.Student instance>
members = [<my.Teacher instance>, <my.Student instance>]
s = <my.Student instance>
t = <my.Teacher instance>
运行命令:
bash >> pydoc my.SchoolMember | cat
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)
Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"
Help on class SchoolMember in my:
my.SchoolMember = class SchoolMember
| Represents any school member.
|
| Methods defined here:
|
| __init__(self, name, age)
|
| tell(self)
| Tell my details.
运行命令:
bash >> pydoc my.t | cat
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)
Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"
Help on instance of Teacher in my:
my.t = class Teacher(SchoolMember)
| Represents a teacher.
|
| Methods defined here:
|
| __init__(self, name, age, salary)
|
| tell(self)
-k参数用来查找关键字。例如:
bash >> pydoc -k pyQt4
PyQt4
PyQt4.Qt
PyQt4.QtAssistant
PyQt4.QtCore
PyQt4.QtDBus
PyQt4.QtDeclarative
PyQt4.QtDesigner
PyQt4.QtGui
PyQt4.QtHelp
PyQt4.QtNetwork
PyQt4.QtScript
PyQt4.QtScriptTools
......
我们也可以利用-p参数指定端口,以在本机上查看所有模块的文档,例如:
bash >> pydoc -p 8088
在浏览器中访问http://127.0.0.1:8088/即可,界面简洁大方。
下面的命令执行后会有图形化界面(Tk)出现:
bash >> pydoc -g
下面的命令会为urllib2的文档生成urllib2.html文件:
bash >> pydoc -w urllib2
pydoc也是一个python类库,下面是在ipython下的一个示例:
bash >> ipython
Python 2.7.4 (default, Sep 26 2013, 03:20:26)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: pwd
Out[1]: u'/home/letian/Desktop'
In [2]: import my
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)
Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"
In [3]: import pydoc
In [4]: pydoc.
pydoc.Doc pydoc.locate
pydoc.ErrorDuringImport pydoc.lower
pydoc.HTMLDoc pydoc.md
pydoc.HTMLRepr pydoc.os
pydoc.Helper pydoc.pager
pydoc.ModuleScanner pydoc.pathdirs
pydoc.Repr pydoc.pipepager
pydoc.Scanner pydoc.pkgutil
pydoc.TextDoc pydoc.plain
pydoc.TextRepr pydoc.plainpager
pydoc.allmethods pydoc.re
pydoc.apropos pydoc.render_doc
pydoc.classify_class_attrs pydoc.replace
pydoc.classname pydoc.resolve
pydoc.cli pydoc.rfind
pydoc.cram pydoc.rstrip
pydoc.deque pydoc.safeimport
pydoc.describe pydoc.serve
pydoc.doc pydoc.source_synopsis
pydoc.expandtabs pydoc.split
pydoc.extract_tb pydoc.splitdoc
pydoc.find pydoc.strip
pydoc.getdoc pydoc.stripid
pydoc.getpager pydoc.synopsis
pydoc.gui pydoc.sys
pydoc.help pydoc.tempfilepager
pydoc.html pydoc.text
pydoc.imp pydoc.ttypager
pydoc.importfile pydoc.types
pydoc.inspect pydoc.visiblename
pydoc.isdata pydoc.warnings
pydoc.ispackage pydoc.writedoc
pydoc.ispath pydoc.writedocs
pydoc.join
In [4]: pydoc.describe.__doc__
Out[4]: 'Produce a short description of the given thing.'
In [5]: pydoc.describe(my.t)
Out[5]: 'instance of Teacher'
In [6]: pydoc.describe(my)
Out[6]: 'module my'
In [7]: pydoc.describe(my.SchoolMember)
Out[7]: 'class SchoolMember'
In [8]: pydoc.doc(my.SchoolMember)
Python Library Documentation: class SchoolMember in module my
class SchoolMember
| Represents any school member.
|
| Methods defined here:
|
| __init__(self, name, age)
|
| tell(self)
| Tell my details.
ipython和pydoc对学习python的其他类库会有较大的帮助。