• 技术文章 >常见问题 >Python常见问题

    如何编写python模块

    silencementsilencement2019-08-28 11:18:21原创5659

    其实网上Python教程挺多的,编写你自己的模块很简单,这其实就是你一直在做的事情!这是因为每一个 Python 程序同时也是一个模块。你只需要保证它以 .py 为扩展名即可。下面的案例会作出清晰的解释。

    案例(保存为 mymodule.py):

    def say_hi():
        print('Hi, this is mymodule speaking.')
    
    __version__ = '0.1'

    上方所呈现的就是一个简单的模块。正如你所看见的,与我们一般所使用的 Python 的程序相比其实并没有什么特殊的区别。我们接下来将看到如何在其它 Python 程序中使用这一模块。

    要记住该模块应该放置于与其它我们即将导入这一模块的程序相同的目录下,或者是放置在 sys.path 所列出的其中一个目录下。

    另一个模块(保存为 mymodule_demo.py):

    import mymodule
    
    mymodule.say_hi()
    print('Version', mymodule.__version__)

    输出

    $ python mymodule_demo.py
    Hi, this is mymodule speaking.
    Version 0.1

    它是如何工作的

    你会注意到我们使用相同的点符来访问模块中的成员。Python 很好地重用了其中的符号,这充满了“Pythonic”式的气息,这使得我们可以不必学习新的方式来完成同样的事情。

    下面是一个使用 from...import 语法的范本(保存为 mymodule_demo2.py):

    from mymodule import say_hi, __version__
    
    say_hi()
    print('Version', __version__)

    mymodule_demo2.py 所输出的内容与 mymodule_demo.py 所输出的内容是一样的。

    在这里需要注意的是,如果导入到 mymodule 中的模块里已经存在了 __version__ 这一名称,那将产生冲突。这可能是因为每个模块通常都会使用这一名称来声明它们各自的版本号。因此,我们大都推荐最好去使用 import 语句,尽管这会使你的程序变得稍微长一些。

    专题推荐:模块
    上一篇:python怎么写多行代码 下一篇:python的print函数不要换行怎么写

    相关文章推荐

    • python正则表达式使用• python中怎么判断不等于• python怎么判断两个字符串不相等

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网