python入门笔记——模块的制作以及发布安装

这篇博客介绍了Python模块的创建、导入与测试,详细讲解了`__all__`魔术方法的作用以及`__name__`的使用。还分享了如何打包发布模块,包括编写setup.py文件、执行构建和生成压缩包的步骤。最后提到了模块的安装方法,通过pip在PyCharm终端进行安装。
摘要由CSDN通过智能技术生成

python入门笔记——模块的制作以及发布安装

被导入的试制作的测试模块:

# 试制作模块
__all__ = ['add','sub']
'''
__all__魔术方法的作用是:
限定其他文件用import...from *导入该模块的时候可使用的函数,不能使用未在[]里的函数
但如果用import ...导入的话则不会有影响
'''

def add(x,y):
    return x + y

def printInfo():
    print('这是一个测试函数')
    pass

def sub(x,y):
    return x - y

# 测试代码
'''
这里还有比较重要的一点,就是__main__魔术方法的部分功能
如果我们在这个文件中直接写有测试代码,那么在其他文件导入该模块的时候,会同时输出该模块测试代码的数据
例如:
'''
# print(add(5,6))# 如果直接存在该行代码,在其他文件导入该模块的时候,输出时会带上11

'''
这里涉及到一点,我们可以用下面的代码测试
'''
# print('add模块的__name__变量是:{}'.format(__name__))
'''
这里会有两个文件的分歧:
在该文件中的输出结果是__main__
而在导入该模块的文件的输出结果是modelTest
我们可以利用这一点,在所有的测试代码处前增加一个if
即可解决一个比较重要的问题:在导入其他模块的时候不会夹杂其他模块的代码结果

例子如下:
'''
if __name__ == '__main__':
    print(add(5,6))
    pass

导入的文件:

'''
模块的制作
python文件都可以作为一个模块,文件名即模块名
它以库的形式封装功能,可以让我们有逻辑地组织代码
它也可包含可执行的代码
'''
from modelTest.modelTest import *
add_result = add(1,2)
print(add_result)
# 当然,我们也同样可以用直接import的方式导入,用add_fuction.add()调用即可

'''
如何发布一个模块:
1.将写好的包放在一个目录下
2.在该目录下创建一个setup.py文件
在文件中写以下代码:

from distutils.core import setup
# name 模块名
# version 版本号
# description 描述
# auther 作者
# py_modules 要发布的内容
setup(name = 'modelTest',version = '1.0',description = '一个测试的模块',
      author = 'my',py_modules = ['modelTest'])
      
3.创建模块
通过终端进入目录后执行命令:
python setup.py build   
4.生成压缩包
继续执行下列命令:
python setup.py sdist   
'''
# 完成后就可以把生成的后缀为.gz的压缩包发给别人了
# 接下来是模块的安装
'''
模块的安装步骤:
1.将压缩包解压,会生成一个文件夹
2.在pycharm的终端用pip即可安装
(这里也有其他的方法,暂且只说明了这种)
'''

setup.py文件:

from distutils.core import setup
'''
name 模块名
version 版本号
description 描述
auther 作者
py_modules 要发布的内容
'''
setup(name = 'modelTest',version = '1.0',description = '一个测试的模块',
      author = 'my',py_modules = ['modelTest'])

发布模块时的部分结果截图:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值