Python 模块

Python 模块

模块:在编写的程序中重用一些函数。

编写模块的方法:创建一个包含函数与变量,以.py为后缀的文件。另一种方法是使用撰写 Python 解释器本身的本地语言来编写模块。

用sys模块导出命令行关键数,及路径

import sys

print('The command line arguments are:')
for i in sys.argv:
    print(i)

print('\n\nThe PYTHONPATH is ',sys.path,'\n')

按字节码编译的.pyc文件

导入一个模块是一件代价高昂的事情,因此 Python 引入了一些技巧使其能够更快速的完成。其中一种方式便是创建按字节码编译的(Byte-Compiled)文件,这一文件以 .pyc 为其扩展名,是将Python 转换成中间形式的文件。这一 .pyc 文件在你下一次从其它不同的程序导入模块时非常有用——它将更加快速,因为导入模块时所需要的一部分处理工作已经完成了。同时,这些按字节码编译的文件是独立于运行平台的。

from .. import 语句

为了避免每次输入模块,可以直接将变量导入程序。

从math模块中引入sqrt

from math import sqrt
print('square root of 16 is',sqrt(16))

模块中的name_

每个模块都有一个名称,而模块中的语句可以找到它们所处的模块的名称。这对于确定模块
是独立运行的还是被导入进来运行的这一特定目的来说大为有用。正如先前所提到的,当模
块第一次被导入时,它所包含的代码将被执行。我们可以通过这一特性来使模块以不同的方
式运行,这取决于它是为自己所用还是从其它从的模块中导入而来。这可以通过使用模块的
name_属性来实现。

if __name__ == 'main':
    print('This program is being run by itself')
else:
    print('I am being imported from another module')

编写你自己的module

编写自己的module,命名为mymodule,实现输出打招呼和模块版本。

第一步编写自己的module。

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

第二步,导入自己的模块实现输出

import mymodule

mymodule.say_hi()
print('version',mymodule.__version__)

用from.. import 实现输出。

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

from mymodule import *,这将导入诸如 say_hi 等所有公共名称,但不会导入 version 名称,因为后者以双下划线开头。

dir 函数

内置的 dir() 函数能够返回由对象所定义的名称列表。如果这一对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。该函数接受参数。 如果参数是模块名称,函数将返回这一指定模块的名称列表。 如果没有提供参数,函数将返回当前模块的名称列表。

现在,你必须开始遵守用以组织你的程序的层次结构。变量通常位于函数内部,函数与全局变量通常位于模块内部。如果你希望组织起这些模块的话,应该怎么办?这便是包(Packages)应当登场的时刻。

建设你想创建一个名为“world”的包,其中还包含着 ”asia“、”africa“等其它子包,同时这些子
包都包含了诸如”india“、”madagascar“等模块。

- <some folder present in sys.path>/
    - world/
        -__init__.py
        - asia/
            - __init__.py
            - india/
                - __init__.py
                - foo.py
        - africa/
            - __init__.py
            - madsgascar/
                - __init__.py
                - bar.py
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值