Python模块

先来一个简单的表面理解   import random    random即为模块   random.py文件就是调用的对象

如果一个模块调用了其他模块  解释器会先把其他模块拿来编译成pyc文件放入缓存(其他模块的字节码,可以到时候直接拿来用,而省略编译过程)

 

from sendmsg import test1  从sendmsg模块中导入test1方法   如果from sendmsg import *    from resmsg import *两个里面存在同名方法  那么后者会覆盖前者  所以要少用import *

 

关于模块的测试:

在模块中测试代码上加上

if __name__=="__main__":

       test()    #即自己调用的__name__时候是__main__   其他人调用的时候是模块名  只有自身调用执行的时候执行测试模块test()

 

__all__的作用:

为了防止import *把不需要的方法导入   __all__=["test1"]  使得其他模块只能调用test1()

 

有__init__.py模块的文件夹成为包   在__init__.py中写入__all__=["模块名"]    则导入包的时候才能调入其中的模块 

程序导入包的时候会先执行__init__.py文件中的内容   包用来把功能相似的模块放在一起

 

模块的发布:

     import os   无论何时都能导入  不需要关注文件所在路径

建立setup.py    在里面添加

from distutils.core import setup
setup(
    name='eif',    #名字
    version="1",     #版本
    author='IT_NEU_Lee',
    author_email='mcarras2@illinois.edu , sahandha@gmail.com',
    scripts=[],
    py_modules=['TestMsg.eif','version'],   #调用的包已经下面的模块
    packages=[],
    license='License.txt',
    description='Extended Isolation Forest for anomaly detection',
    long_description=read('README.md'),
    url='https://github.com/sahandha/eif',
    install_requires=["numpy"],
)

然后用python setup.py build 把模块导入系统中

python setup.py sdist  发布打包生成压缩包  .tar.gz

 

 

给程序传参

import  sys

sys.argv即可以传递参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值