【Python 1】函数模块

Python如何共享代码?

通过函数模块。

http://blog.csdn.net/michaeljy1991/article/details/50325407

从上一节,get到Python的重复代码可以定义在函数里,下面会涉及到如何共享你的函数代码

构建发布

构建一个发布文件

将函数写在一个后缀为py的文件里,如下:

一组"""之间的内容为注释。

关于这个函数的说明文件setup.py:

通过py_modules进行关联

通过Python setup.py sdist,构建一个发布文件

将发布安装到本地

使用python setup.py install,将发布安装到本地

发布后结构图

导入模块并使用

构建发布过后,可以通过import print_list导入模块

神马情况?导入了模块还报错?!

别急下面会解决it

Python的模块实现命名空间

OK,这里引入命名空间的概念

其实可以把命名空间看做Java的包

Python内置的模块都在__main__这个命名空间下

所以,当使用第三方模块时,需要带上命名空间名

注册pypl网站

pypl是什么?

简单地说就类似maven样的东东吧。

https://pypi.python.org/pypi?%3Aaction=register_form

向pypl上传代码

两步走:

         python setup.py register

         python setup.py sdist upload

向pypl注册你的模块,如果出现如下错误,请考虑换一个模块名称

向pypl上传你的发布

pypl社区

和其他语言的社区一样。

BIF

对,前面介绍过BIF,内置函数。

所以,在写任何自定义函数前,先考虑BIF是否已经实现了,Python一共有70多个BIF。

range()

range(4) : 从0迭代到4,是一个BIF

使用range改造自定义函数

效果如上。

步骤如下,每次改了都要重新发布,后面upload操作可以忽略。

F:\Improve\Python\pypl>python setup.py sdist
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default fi
le list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
creating michaeljy_print_list-1.0.1
making hard links in michaeljy_print_list-1.0.1...
hard linking michaeljy_print_list.py -> michaeljy_print_list-1.0.1
hard linking setup.py -> michaeljy_print_list-1.0.1
creating 'dist\michaeljy_print_list-1.0.1.zip' and adding 'michaeljy_print_list-
1.0.1' to it
adding 'michaeljy_print_list-1.0.1\michaeljy_print_list.py'
adding 'michaeljy_print_list-1.0.1\PKG-INFO'
adding 'michaeljy_print_list-1.0.1\setup.py'
removing 'michaeljy_print_list-1.0.1' (and everything under it)

F:\Improve\Python\pypl>python setup.py install
running install
running build
running build_py
running install_lib
running install_egg_info
Writing D:\Python35\Lib\site-packages\michaeljy_print_list-1.0.1-py3.5.egg-info

F:\Improve\Python\pypl>python setup.py upload
running upload
error: No dist file created in earlier command

F:\Improve\Python\pypl>python setup.py sdist upload
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default fi
le list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
creating michaeljy_print_list-1.0.1
making hard links in michaeljy_print_list-1.0.1...
hard linking michaeljy_print_list.py -> michaeljy_print_list-1.0.1
hard linking setup.py -> michaeljy_print_list-1.0.1
creating 'dist\michaeljy_print_list-1.0.1.zip' and adding 'michaeljy_print_list-
1.0.1' to it
adding 'michaeljy_print_list-1.0.1\michaeljy_print_list.py'
adding 'michaeljy_print_list-1.0.1\PKG-INFO'
adding 'michaeljy_print_list-1.0.1\setup.py'
removing 'michaeljy_print_list-1.0.1' (and everything under it)
running upload
Submitting dist\michaeljy_print_list-1.0.1.zip to https://pypi.python.org/pypi
Server response (200): OK

F:\Improve\Python\pypl>

在pypl上面就可以看到你的模块了。


使用可选参数

相信很多时候,函数的参数都不必须是必填的。

通过为参数设置默认值,将参数变为可选。

效果见上图。


总结

三重引号字符串(""")添加注释

pypl就是Python package index的缩写

Python的主命名空间名称__main__

import可以导入自定义模块

BIF是build-in-functions的缩写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值