`
yuanta11
  • 浏览: 61396 次
  • 性别: Icon_minigender_1
  • 来自: 淄博
社区版块
存档分类
最新评论

Python第二课-共享代码(函数、模块)

阅读更多
第一个模块文件:

nester.py
'''模块名:nester
其中包含一个函数:print_lol 用于输出一个可能嵌套有其他列表的列表'''

def print_lol(the_list, level=0, d='\t'): #参数预定默认值之后,成为可选参数
    '''函数print_lol, 使用递归的方式输出一个可能嵌套有其他列表的列表
    参数the_list, 是需要输出的列表
    参数level, 是整形,表示缩进级别,默认值为0
    参数d, 是字符串,表示缩进符号,默认值为制表符'''

    for each_item in the_list:
        if isinstance(each_item, list):
            print_lol(each_item, level+1) #每深入到下一层列表,缩进级别+1
        else:
            for tab_stop in range(level): #range()是一个BIF 返回一个迭代器
                print(d, end = '')
        print(each_item)


碎碎念:函数不指定返回值时,默认return(None)


给模块创建一个发布(distribution):

1、新建'nester'文件夹
2、新建'setup.py',用于发布
from distutils.core import setup

setup(name = 'nester' #发布名
version = '1.0.0' #版本号
py_modules = ['nester'] #模块列表
author = 'pythonmap'
author_email = 'yuanta11@gmail.com'
url = 'pythonmap.iteye.com'
description = 'A simple printer of nested lists')

3、构建此distribution:
    终端中输入:python setup.py sdist
4、安装distribution:
    终端中输入:python setup.py install
5、查看发布后的nester文件夹结构变化
6、发布后即可在其他模块中导入使用
import nester



修改nester模块,重新发布新版本API

'''模块名:nester
其中包含一个函数:print_lol 用于输出一个可能嵌套有其他列表的列表'''

def print_lol(the_list, level=0, d='\t', indent=False): #参数预定默认值之后,成为可选参数
    '''函数print_lol, 使用递归的方式输出一个可能嵌套有其他列表的列表
    参数the_list, 是需要输出的列表
    参数level, 是整形,表示缩进级别,默认值为0
    参数d, 是字符串,表示缩进符号,默认值为制表符
    参数indent, 是一个布尔值,表示是否进行缩进,默认为否'''

    for each_item in the_list:
        if isinstance(each_item, list):
            print_lol(each_item, level+1) #每深入到下一层列表,缩进级别+1
        else:
            if indent: #如果调用函数时indent参数为True,输出缩进符号
                for tab_stop in range(level): #range()是一个BIF 返回一个迭代器
                    print(d, end = '')
        print(each_item)


修改setup.py: version = 1.2.0

重新发布:终端中输入 python setup.py sdisk

重新安装:终端中输入 python setup.py install
(是否需要重新安装我也不是很清楚,高手赐教)
6
0
分享到:
评论

相关推荐

    第二课-20161225T092449Z,第二课堂,Python源码.zip

    在本资源"第二课-20161225T092449Z,第二课堂,Python源码.zip"中,我们主要探讨的是关于Python编程语言的知识点。Python是一种广泛使用的高级编程语言,以其简洁、易读的语法而闻名,常用于Web开发、数据分析、人工...

    Python库 | python-mango-0.1.5.tar.gz

    1. `__init__.py`:这个文件表示当前目录是一个Python包,使得其他模块可以导入其中的类和函数。 2. `src/`:源代码目录,通常存放库的主要实现代码。 3. `tests/`:测试目录,包含单元测试或集成测试,用于验证库的...

    Python应用开发-Python模块.pptx

    第二个案例探讨了模块的定位,强调了模块应放置在Python的搜索路径中的某个目录,比如安装目录的`lib`子目录下。 为了确保模块被正确找到,Python在启动时会自动将当前目录和`sys.path`列表中的所有目录添加到搜索...

    python4delphi-master.zip

    2. 调用Python代码:在Delphi工程中,可以通过创建PythonEngine实例来启动Python环境,并通过PyRun_SimpleString或PyRun_SimpleFile等函数执行Python脚本。此外,还可以通过TPythonObject类来直接操作Python对象,如...

    byte-of-python-chinese-edition(python入门)

    书中内容覆盖了Python的基础知识,如安装指南、基础运算符与表达式、控制流、函数、模块、数据结构以及如何解决编程问题。在进阶内容方面,书籍还涵盖了面向对象编程、输入与输出、异常处理以及标准库的使用等。 ...

    Python库 | seekout-0.1.0-py3-none-any.whl

    Python社区鼓励开源和共享,因此,尽管我们没有详细信息,但通常这样的库会有一个GitHub页面或Readme文档,其中包含更详细的使用说明、示例代码以及贡献指南。如果打算使用或贡献这个库,建议首先查找其官方仓库,...

    Python库 | girder-download-statistics-3.0.0rc2.dev20.tar.gz

    版本号“3.0.0rc2.dev20”表明这是3.0.0版本的第二个候选发布版,其中“dev20”可能意味着它是第20次开发版本,这意味着它可能在正式发布之前已经经过多次迭代和改进。 Python库的使用通常涉及安装、导入和调用其...

    Python库 | encourage-0.0.0.1-py3-none-any.whl

    Python库是开发者共享和重用代码的机制,这些代码通常以模块的形式存在,可以包含函数、类和其他可重用的组件。在Python生态系统中,库极大地扩展了语言的功能,使得开发者能够快速构建复杂的应用程序。 ...

    python-3.9.0a4-amd64.rar

    1. **新语法和内置功能**:Python 每个主要版本通常会引入新的语言特性和内置函数。例如,3.9 版本添加了空切片赋值(`a[::] = b`)功能,允许直接用一个序列替换另一个序列的全部元素。此外,还改进了类型注解,如...

    Python库 | louvain-0.6.0-cp36-cp36m-win_amd64.whl

    在Python编程语言中,库是开发者共享和重用代码的重要方式,极大地提高了开发效率。本文将深入探讨Python库的概念及其在实际应用中的价值,特别是针对标题中提到的“louvain-0.6.0-cp36-cp36m-win_amd64.whl”这个...

    Python库 | genericfuncs-0.1.1.zip

    2. `genericfuncs.py`: 这是库的主要源代码文件,其中包含了`genericfuncs`模块的所有功能和类。 3. `README.md`或`README.rst`: 文件中可能包含了库的使用指南、示例代码和开发者信息。 4. `LICENSE`: 许可证文件,...

    Python3基础教程-教案.docx.pdf

    - Python 3.x和2.x的主要区别在于编码默认、print函数、面向对象、比较运算符、整数类型和字符串处理等方面。 4. **Python的运行方式** - Python程序可以交互式执行,也可以作为脚本运行。 - 学习如何配置Python...

    零基础入门学习Python+全套源码课件-资源共享吧收集整理

    在本资源中,我们将学习Python的基础知识,包括变量、数据类型、运算符、控制结构、函数、模块等。同时,我们还将学习如何使用Python进行数据分析、机器学习和Web开发。 资源共享吧收集整理的资源包括了零基础入门...

    Python库 | setuptools-1.1.3.zip

    setuptools使得Python开发者能够创建源代码包,这些包可以被安装到用户的系统中,便于共享和使用。在Python世界里,setuptools是distutils的扩展,提供更高级的功能,为Python项目的管理带来诸多便利。 setuptools-...

    Python库 | melpy-0.0.1-py3-none-any.whl

    轮子文件包含编译好的Python扩展模块,使得用户可以直接通过pip安装,而无需编译源代码,大大加快了安装速度。版本号“0.0.1”表示这是该库的第一个版本,通常这意味着它可能还在早期开发阶段,可能存在不稳定因素...

    Python库 | ikwilnaarhuis-0.0.0.3.3-py3-none-any.whl

    综上所述,"ikwilnaarhuis-0.0.0.3.3-py3-none-any.whl" 是一个Python开发的产物,体现了Python在后端开发中的作用,以及Python库作为代码复用和共享的重要方式。理解Python库的使用、开发和分发对于深入掌握Python...

    Python库 | octomy-common-1.0.4b0.tar.gz

    在Python生态系统中,库是开发者共享和重用代码的重要方式。它们通常被封装为模块,可以方便地通过`import`语句在项目中使用。这个 "octomy-common" 库可能包含以下常见知识点: 1. **模块化编程**:Python库通常由...

    Python库 | languageflow-1.1.7a2-py2.py3-none-any.whl

    版本号`1.1.7a2`表明这是该库的第1.1.7次修订版的第二个Alpha版本,意味着它可能仍处于开发阶段,但已经具备了一定的功能和稳定性。 `.whl`文件是一种预编译的Python软件包格式,它允许开发者无需编译源代码就能...

    PyPI 官网下载 | tencentcloud-sdk-python-tdid-3.0.495.tar.gz

    《PyPI官网下载的tencentcloud-sdk-python-tdid-3.0.495.tar.gz:探索腾讯云Python SDK的TDID模块》 在Python的开发过程中,开发者经常需要利用各种第三方库来提高效率,扩展功能。PyPI(Python Package Index)...

Global site tag (gtag.js) - Google Analytics