1.定义一个函数

假如一个函数已经发布,则升级时,为新添加的变量设定缺省值的设定可以保证不同版本函数的兼容。

def print_lol(the_list, indent=False, level=0, fh=sys.stdout):
"""
格式化输出列表(包含嵌套和非嵌套列表),一次显示一行,嵌套列表可以缩进
indent:是否缩进;level:tab缩进个数;fh为写入文件地址,默认显示到屏幕
"""  for each_item in the_list:if isinstance(each_item, list):print_lol(each_item,indent,level+1,fh)else:if indent:for tab_stop in range(level):print("\t", end='', file=fh)print(each_item, file=fh)

2.函数转化为模块

将函数保存到一个适当命名的文件中nester.py.

3.模块发布

创建一个文件夹命名为nester,新建setup.py文件,包含发布的元数据。首先从python发布工具导入“setup”函数

from distutils.core import setupsetup(name           = 'nester',version           ='1.0.0',py_modules      =['nester'],auther           ='a'auther_email ='a@s'description       ='')

4.构建发布

发布工具将构建一个发布所需的所有功能,打开cmd命令行,定位到nester文件夹,输入:C:\Python27\python.exe setup.py sdist

屏幕上会出现一组状态,确认发布已经创建。将发布安装到Python本地副本。输入:sudoC:\Python27\python.exe setup.py install

确认本地副本已经安装,出现build和dist两个文件夹。

发布就绪。可以导入模块并使用:import nester

5.上传到PyPI共享

linux:python2.7 setup.py sdist upload

windows:C:\Python27\python.exe setup.py sdist upload

6.debug过程

import模块报错,主要有以下错因:

(1)汉字注释。解决:开头添加#coding: utf-8

(2)书上用python3,实际用python2.7.在同行输出有问题

Python 2

print 'Python', python_version()
print 'Hello, World!'
print('Hello, World!')
print "text", ; print 'print more text on the same line'Python 2.7.6
Hello, World!
Hello, World!
text print more text on the same line

Python 3

print('Python', python_version())
print('Hello, World!')
print("some text,", end="")
print(' print more text on the same line')
#结果
Python 3.4.1
Hello, World!
some text, print more text on the same lineprint 'Hello, World!'
#报错
File "<ipython-input-3-139a7c5835bd>", line 1
print 'Hello, World!'
^
SyntaxError: invalid syntax

(3)NameError: name 'sys' is not defined 解决:import sys 代码更改为:

</pre><pre name="code" class="python">#coding: utf-8
import sys
def print_lol(the_list, indent=False, level=0, fh=sys.stdout):"""格式化输出列表(包含嵌套和非嵌套列表),一次显示一行,嵌套列表可以缩进indent:是否缩进;level:tab缩进个数;fh为写入文件地址,默认显示到屏幕"""    for each_item in the_list:if isinstance(each_item, list):print_lol(each_item,indent,level+1,fh)else:if indent:for tab_stop in range(level):file=fhprint "\t",;print filefile=fhprint(each_item, file)

导入成功:

《head first python》— 函数定义、模块与发布、共享代码相关推荐

  1. python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块

    ▍『1』函数 当代码出现有规律的重复的时候,可以使用函数.函数是对代码的封装复用,也可以看成是功能的抽象. 函数通过def关键字定义,def关键字后跟一个函数的标识符,然后跟一对圆括号.圆括号之中可以 ...

  2. 小白都能学会的Python基础 第四讲:Python函数与模块

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第四讲:Python函数与模块 1.函数的定义与调用 2.函数参数与返回值 2.1 参数再研究 2.2 返回值 2 ...

  3. python函数定义与调用

    python函数定义与调用 python函数定义与调用 函数定义 函数参数 函数调用 ==**文章导航:==** python函数定义与调用 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用 ...

  4. 【python教程入门学习】Python函数定义及传参方式详解(4种)

    这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...

  5. python系统提供构造函数传入参数_[ Python入门教程 ] Python函数定义和使用

    函数是一段可以重复多次调用的代码,通过输入的参数值,返回需要的结果.通过使用函数,可以提高代码的重复利用率.本文主要介绍Python函数的定义.调用和函数参数设置方法. 函数的定义 Python函数定 ...

  6. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  7. python函数定义之关键字参数

    python函数定义之关键字参数 关键字参数 关键字参数 kwarg=value 形式的 关键字参数 也可以用于调用函数.函数示例如下: def parrot(voltage, state='a st ...

  8. 超详细!少数人才知道的 Python 函数定义详解

    Python 函数定义时支持可变数量的参数. 一.默认值参数 在 Python 中给函数的参数指定默认值是一种十分常见的使用方式,这样在调用函数时,可以使用比定义时更少的参数. 示例代码 def ch ...

  9. Python 函数定义与调用

    ☞☞☞点击查看更多优秀Python博客☜☜☜ Python 函数定义与调用 Python 函数定义与调用 函数的定义 函数的调用: ==**文章导航:==** Python 函数定义与调用 函数是组织 ...

  10. python函数定义中没有对参数指定类型、这说明_二级单选-函数和代码复用

    . i. .w. 1 关于递归函数的描述,以下选项中正确的是 A 函数部包含对本函数的再次调用 B 函数比较复杂 C 包含一个循环结构 D 函数名称作为返回值 正确答案: A 2 关于递归函数基例的说 ...

最新文章

  1. Python中的pandas模块学习
  2. 百度java验证码不显示不出来,Java-使用百度链接时,遇到无法弹出用户登录框的问题...
  3. Java的getAverage,Java IntSummaryStatistics getAverage()用法及代码示例
  4. 播放2.0:Akka,Rest,Json和依赖项
  5. PHP面向对象 封装与继承
  6. [vue-cli]vue-cli怎么解决跨域的问题?
  7. html中 一条样式规则,css规则的基本格式是什么?
  8. 移动互联网App兼容性测试
  9. springboot整合websocket实现简易版单人聊天
  10. MTK驱动开发(44)---如何对GPS下达清除辅助资讯的command
  11. NSX控制平面和静态路由更新流程2
  12. Python源码剖析笔记3-Python执行原理初探
  13. 简单的Mysql常用命令
  14. php 定时微博代码,8款主流定时微博工具
  15. 中学数学建模书籍及相关的视频等(2022.08.09)
  16. CwRsync | Windows与Windows之间同步备份配置详解
  17. 账单---Grid++Report报表设计器
  18. 单元测试总结反思_考试反思,考试反思作文
  19. 联想计算机如何进bois,联想电脑怎么进入bios 联想进入bios方法【图文】
  20. win10 3D查看器glb和3mf格式模型

热门文章

  1. 分享119个ASP整站程序源码,总有一款适合您
  2. android studio 使用win11自带的安卓模拟器进行软件开发
  3. 线上服务 CPU 100%?一键定位 so easy!
  4. 2022-2028年全球与中国虚拟宽带网络网关(vBNG)行业竞争格局与投资战略研究
  5. FileStream
  6. js递归函数及深浅拷贝
  7. OLED屏幕寿命和烧屏问题
  8. Java中getAbsolutePath()什么意思?
  9. caxa齿轮零件图_齿轮油泵-各零件图
  10. 编程语言的历史和发展