`
yuanta11
  • 浏览: 60796 次
  • 性别: 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
分享到:
评论

相关推荐

    Head First Python.2nd Edition(英文版).pdf

    深入浅出英文版  1 初识Python:人人都爱列表  2 共享你的代码:函数模块  3 文件与异常:处理错误 请不要给我5星好评,因为好评会上涨积分!

    2019千峰Python超详细入门教程(百度云盘分享).docx

    ├─千锋Python教程:第09章 模块&包&常用模块&三方模块(14集) │ 千锋Python教程:51.系统模块&自定义模块&包1.mp4 │ 千锋Python教程:52.系统模块&自定义模块&包2.mp4 │ 千锋Python教程:53.系统模块&自定义...

    Python技术手册(第2版)–2

    Python技术手册(第2版)–2 作者:(美)马特利 著,程胜,杨萍 译 出版日期:2010-6-1 出版社:人民邮电出版社 页数:615 ISBN:9787115225832 文件格式:PDF 文件大小:30.27 MB 在线浏览(测试版):...

    Python程序设计第6章+文件操作.pptx

    第1章 初识Python程序 目录 /CONTENTS 第2章 程序基本构成 第3章 控制结构 第4章 函数 第5章 复合数据类型 第6章 文件操作 第7章 数据可视化 第8章 图像处理 Python程序设计第6章+文件操作全文共44页,当前为第2页...

    老男孩python 四期

    第二天 1、python I/O交互 2、处理文件、通过Python修改及处理文件内容 3、项目实践:编写员工信息查询程序 ※读取员工信息数据库,支持模糊查询,支持动态添加、修改、删除员工信息 4、列表 5、元组、集合 6、字典...

    Python Cookbook

    第2章 文件 55 引言 55 2.1 读取文件 59 2.2 写入文件 62 2.3 搜索和替换文件中的文本 64 2.4 从文件中读取指定的行 65 2.5 计算文件的行数 66 2.6 处理文件中的每个词 68 2.7 随机输入/输出 70 2.8 更新...

    Python基础教程(第3版)-201802出版-文字版

    久负盛名的 Python 入门经典针对 Python 3 全新升级十个出色的项目,让你尽快可以使用 Python 解决实际问题目录第 1章 快速上手:基础知识 ........................ 1 1.1 交互式解释器 .............................

    精通Qt4编程(第二版)源代码

    \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)对话框 24 \2.4 小结 34 \第3章 基础窗口部件——QWidget 35 ...

    深入理解Android:卷I--详细书签版

    5.2.2 第二板斧——由弱生强 103 5.2.3 第三板斧——破解生死魔咒 106 5.2.4 轻量级的引用计数控制类LightRefBase 108 5.2.5 题外话——三板斧的来历 109 5.3 Thread类及常用同步类分析 109 5.3.1 一个变量...

    精通qt4编程(源代码)

    \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)对话框 24 \2.4 小结 34 \第3章 基础窗口部件——QWidget 35 \3.1 Qt...

    RED HAT LINUX 6大全

    第2章 Red Hat系统的安装 5 2.1 准备,认真准备 5 2.2 安装Red Hat Linux 6 2.2.1 创建引导盘和辅助盘 6 2.2.2 不利用引导软盘进行安装 7 2.2.3 虚拟控制台 7 2.2.4 对话框 7 2.3 一步步地安装 7 2.3.1 开始安装 7 ...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

     第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高。不要害怕和逃避,毕竟我们还年轻。  本文共分五大部分。分别是XML快速入门,XML的概念,XML的术语,XML的实现,XML的实例分析。最后附录介绍了...

    freemarker总结

    后紧跟内建函数,就可以通过内建函数来轮换输出变量.下面是常用的内建的字符串函数: html:对字符串进行HTML编码 cap_first:使字符串第一个字母大写 lower_case:将字符串转换成小写 upper_case:将字符串转换成大写...

    ROS机器人操作系统入门 Tutorials CN版 20150726

    ROS-agnostic库:【agnostic:不可知论】建议的开发模型是使用clear的函数接口书写ROS-agnostic库。 语言独立性:ROS框架很容易在任何编程语言中执行。我们已经能在Python和C++中顺利运行,同时添加有Lisp、Octave和...

Global site tag (gtag.js) - Google Analytics