Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2007-06-26 05:50:29
Size: 1315
Editor: HuangYi
Comment:
Revision 4 as of 2007-08-04 14:11:54
Size: 1717
Editor: brightman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
========
Line 13: Line 13:
附件 |contribute_docs| 模块
=====
为什么有module?
首先,你用Python实现的一些功能(python代码)可以保存为py文件,否则离开了Python解释器,就丢失了这些功能;
其次对于较大程序可以用文本编辑器开发,再Python将其作为输入来运行,而且某些些程序你可以拆分为多个较小py文件,便于维护。
最后,你想复用这些功能时只需要import它们,而不需要重复拷贝代码。
这些就module的功能,可以认为一个py文件就是一个module。
一个module是一个包含了Python代码的文件,文件的名称就是module名称加上py后缀。举例来说:fibo.py
# Fibonacci numbers module
Line 15: Line 23:
.. |contribute_docs| image:: 1.0/RoughDocs/contribute_docs.jpg def fib(n): # write Fibonacci series up to n
    a, b = 0, 1
    while b < n:
        print b,
        a, b = b, a+b
Line 17: Line 29:
脚注 [#]_ def fib2(n): # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result
在Python解释器中
使用import fibo导入fibo module 和 使用fibo.fib(1000)来调用函数,也可以用fib = fibo.fib 将module函数赋值到本地函数。
>>> import fibo
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
'fibo'
>>> fib = fibo.fib
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377
Line 19: Line 49:
二级标题.1
--------------------

三级标题.1.1
````````````````````

二级标题.2
--------------------

三级标题.2.1
````````````````````


小结
===============================


练习
--------------------


引用::

    This is the main heading
    ========================

    :Status: Draft

MoinMoin 链接:

- `page with a ReStructuredText primer <HelpOnParsers/ReStructuredText/RstPrimer>`_
- `use of ReST in MoinMoin <HelpOnParsers/ReStructuredText>`_.

外部链接:

- `Docutils-Users mailing list`_
- `Docutils project web site`_

.. [#] If that relative link doesn't work, try the master document:
   http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.
.. _Docutils-Users mailing list:
   http://lists.sourceforge.net/lists/listinfo/docutils-users
.. _Docutils project web site: http://docutils.sourceforge.net/



=====
Rendering of reStructured text is not possible, please install Docutils.
:status: 草稿|校对|正式;HuangYi;完成度1%;

.. contents::
  :depth: 3

========
模块与包
========

模块
=====
为什么有module?
首先,你用Python实现的一些功能(python代码)可以保存为py文件,否则离开了Python解释器,就丢失了这些功能;
其次对于较大程序可以用文本编辑器开发,再Python将其作为输入来运行,而且某些些程序你可以拆分为多个较小py文件,便于维护。
最后,你想复用这些功能时只需要import它们,而不需要重复拷贝代码。
这些就module的功能,可以认为一个py文件就是一个module。
一个module是一个包含了Python代码的文件,文件的名称就是module名称加上py后缀。举例来说:fibo.py
# Fibonacci numbers module

def fib(n):    # write Fibonacci series up to n
    a, b = 0, 1
    while b < n:
        print b,
        a, b = b, a+b

def fib2(n): # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result
在Python解释器中
使用import fibo导入fibo module 和 使用fibo.fib(1000)来调用函数,也可以用fib = fibo.fib 将module函数赋值到本地函数。
>>> import fibo
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
'fibo'
>>> fib = fibo.fib
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

=====

.. macro:: [[PageComment2(nosmiley=1, notify=1)]]


.. macro:: -- HuangYi [[[DateTime(2007-06-26T05:50:11Z)]]]

ObpLovelyPython/LpyQLearn-6-model (last edited 2009-12-25 07:14:33 by localhost)