《head first python》— 函数定义、模块与发布、共享代码
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》— 函数定义、模块与发布、共享代码相关推荐
- python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块
▍『1』函数 当代码出现有规律的重复的时候,可以使用函数.函数是对代码的封装复用,也可以看成是功能的抽象. 函数通过def关键字定义,def关键字后跟一个函数的标识符,然后跟一对圆括号.圆括号之中可以 ...
- 小白都能学会的Python基础 第四讲:Python函数与模块
1.华小智系列 - Python基础(案例版) <Python基础>目录 第四讲:Python函数与模块 1.函数的定义与调用 2.函数参数与返回值 2.1 参数再研究 2.2 返回值 2 ...
- python函数定义与调用
python函数定义与调用 python函数定义与调用 函数定义 函数参数 函数调用 ==**文章导航:==** python函数定义与调用 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用 ...
- 【python教程入门学习】Python函数定义及传参方式详解(4种)
这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...
- python系统提供构造函数传入参数_[ Python入门教程 ] Python函数定义和使用
函数是一段可以重复多次调用的代码,通过输入的参数值,返回需要的结果.通过使用函数,可以提高代码的重复利用率.本文主要介绍Python函数的定义.调用和函数参数设置方法. 函数的定义 Python函数定 ...
- python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)
python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...
- python函数定义之关键字参数
python函数定义之关键字参数 关键字参数 关键字参数 kwarg=value 形式的 关键字参数 也可以用于调用函数.函数示例如下: def parrot(voltage, state='a st ...
- 超详细!少数人才知道的 Python 函数定义详解
Python 函数定义时支持可变数量的参数. 一.默认值参数 在 Python 中给函数的参数指定默认值是一种十分常见的使用方式,这样在调用函数时,可以使用比定义时更少的参数. 示例代码 def ch ...
- Python 函数定义与调用
☞☞☞点击查看更多优秀Python博客☜☜☜ Python 函数定义与调用 Python 函数定义与调用 函数的定义 函数的调用: ==**文章导航:==** Python 函数定义与调用 函数是组织 ...
- python函数定义中没有对参数指定类型、这说明_二级单选-函数和代码复用
. i. .w. 1 关于递归函数的描述,以下选项中正确的是 A 函数部包含对本函数的再次调用 B 函数比较复杂 C 包含一个循环结构 D 函数名称作为返回值 正确答案: A 2 关于递归函数基例的说 ...
最新文章
- Python中的pandas模块学习
- 百度java验证码不显示不出来,Java-使用百度链接时,遇到无法弹出用户登录框的问题...
- Java的getAverage,Java IntSummaryStatistics getAverage()用法及代码示例
- 播放2.0:Akka,Rest,Json和依赖项
- PHP面向对象 封装与继承
- [vue-cli]vue-cli怎么解决跨域的问题?
- html中 一条样式规则,css规则的基本格式是什么?
- 移动互联网App兼容性测试
- springboot整合websocket实现简易版单人聊天
- MTK驱动开发(44)---如何对GPS下达清除辅助资讯的command
- NSX控制平面和静态路由更新流程2
- Python源码剖析笔记3-Python执行原理初探
- 简单的Mysql常用命令
- php 定时微博代码,8款主流定时微博工具
- 中学数学建模书籍及相关的视频等(2022.08.09)
- CwRsync | Windows与Windows之间同步备份配置详解
- 账单---Grid++Report报表设计器
- 单元测试总结反思_考试反思,考试反思作文
- 联想计算机如何进bois,联想电脑怎么进入bios 联想进入bios方法【图文】
- win10 3D查看器glb和3mf格式模型