python-模块的制作

模块的制作

建立一个普通的python文件,写一些moudelTest方法

# 模块的制作说明

# __all__魔术变量的作用是 如果在一个文件中存在 __all__变量,那么也就意味着这个变量中的元素
# 会被from XXX import *时会被导入,对于import 方式来讲 无所谓 有没有 都可以全部的引用

__all__=['add','diff']

def add(x,y):
    '''
    普通的函数
    :param x:
    :param y:
    :return:
    '''
    return x+y

def diff(x,y):
    return x-y
def printInfo():
    return '这是我自定义模块里面的方法'
print('----------')

在随便建立一个代码import以上代码

import t
print(t.add(3,2))

结果:
在这里插入图片描述

不难发现虽然只调用了add方法,但是依然打出了‘-----------’
因为在import时被import的代码会被全部执行,要想打印出‘------------’
可以使用魔术方法__name__
加入:

if __name__=='__main__':
    res=add(2,5)
    print('测试模块, %s'%res)
    print('模块__name__变量=%s'%__name__)
    pass

若import则不会调用里面的代码
只能调用moudelTest时出现
*

import xxx as x

将导入的模块重新命名,使用后xxx无法使用,只能用x

all

all 的作用,如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,会被from xxx import * 时导入,若all里没有写入的方法,则用from xxx import * 无法使用方法,但可以import使用

模块的发布

1.将写好的包放到一个jiaoxue/目录下
2.在jiaoxue/目录下创建一个文件setup.py文件
3.文件里写入下面代码

from distutils.core import setup 
# name 模块名称 
# version 版本号 
# description 描述 
# author 作者 
# py_modules 要发布的内容 
setup(name="my_module", version="1.0", description="my module", 
author="lilei", py_modules=['test1.A', 'test1.B', 'test2.C', 'test2.D']) 

4.创建模块:python setup.py build(点开它输入)
在这里插入图片描述
5.python setup.py sdist(生成压缩包)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值