Python入门-函数的使用到程序的公布安装
2016-02-22 15:57
239 查看
Python入门-函数的使用到Python的公布安装
本文主要适合有一定编程经验,至少掌握一门编程语言的人查看。文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法和结构。不会设计高深层次,对Python入门有一定帮助。
Python和Java对照。会看到Python设计思想在于简洁、有用、强大,每个程序猿都值得学习和掌握。
Python函数的定义及有用
Python中的函数是一个命名的代码块。和Java一样,能够带0个或多个參数。主要形式如def $函数名($參数): ... 函数体 ...
能够看出Python通过缩进语句取代了java中的{},将代码归组到一起。
如Python中的基本语句:
for item in list: ... do something ... while true: ... do something ... if true: ... else: ...
写一个通过參数的类型来打印不同的结果样例:
###假设是一个列表类型,则循环打印,否则打印当前 def print_test(is_list): if isinstance(is_list, list): for t in is_list: print(t) print_test("not list") else: print(the_list)
Python中的列表能够理解卫java中的列表,元组看成java中的数组(用小括号扩住),貌似比数据更强大和简洁一点。我们能够理解为“打了鸡血”的数据,能够随便伸缩。相关方法有:
len(list)
list.insert(1,‘’)
list.remove(”)
list.append(”)
上述实例中,用到递归调用。更具传入參数类型类递归调用自己。
能够看到。方法名字前就加了def修饰,參数也是直接随便写。
Python设计哲学把不论什么事物都看成了对象或集合。类型并不关心内部究竟是什么类型。变量标识符根本不须要类型。java中则声明变量时必须要表明类型。能够把Python看成高层集合,对于列表来说,里面能够存储不同类型的数值,仅仅要你给出一个名字。其它的由Python搞定
样例中isinstance 函数为Python内置函数。和java中的 instanceof 相似。
函数的调用。保存method.py, F5执行后,直接在shell和idle中键入:
### 句未加‘。’ 和写多行句子 import method.py print_test(["item1","item2","item3"])
Python程序的公布和安装
模块化Python代码,像java一样,能够构建复杂而强大的系统。把Python代码模块化为类库,方便管理,业方便兴许的代码重用和架构。import sys; sys.path 产看python在计算机上存储位置。
把上例函数封装为一个模块,然后公布安装为例:
为刚写的方法文件建立一个目录:method
把method.py 放到里面
新建立一个文件 “setup.py”
文件里为公布的元数据,编辑例如以下:
# 元数据 from distutils.core import setup setup( name = 'CankingApp', version = '1.0', py_modules = ['method'], author = 'CankingApp', author_email = 'king@gmail.com', url = 'www.baidu.com', descripthin= 'test', )
构建公布文件
打开终端键入命令:
$python3 setup.py sdist
running sdist
running check
warning: check: missing required meta-data: url
warning: sdist: manifest template ‘MANIFEST.in’ does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt
writing manifest file ‘MANIFEST’
creating CankingApp-1.0
making hard links in CankingApp-1.0…
hard linking hello.py -> CankingApp-1.0
hard linking setup.py -> CankingApp-1.0
Creating tar archive
removing ‘CankingApp-1.0’ (and everything under it)
按装到Python本地副本中
终端中命令:
$ sudo setup.py install
/usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: ‘descripthin’
warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib
copying method.py -> build/lib
running install_lib
copying build/lib/method.py -> /usr/local/lib/python3.4/dist-packages
byte-compiling /usr/local/lib/python3.4/dist-packages/method.py to method.cpython-34.pyc
running install_egg_info
操作完后会看到目录中多了build和dist目录及MANIFEST文件。
构建成功,測试代码
直接在idle中測试:
import method method.print_test(["item1","item2","item3"])
測试函数调用须要加上method,是python中命名空间规定。
Python中的全部代码都与一个命名空间关联,主程序中的代码与”main“命名空间关联。我们单独的代码模块自然自己主动创建一个与代码块同名的命名空间。
所以须要带上method.print_test。
from method import print_test
print_test()
//也能够这样用,可是假设此命名空间有同名时会冲突失效,个人觉得还是第一种比較好。
成功打印出item则标识成功安装。
文中实例源码已上传GitHub, 有兴趣的同学欢迎一起交流学习。
相关文章推荐
- python学习笔记三--字典
- Python 第六篇(上):面向对象编程初级篇
- python成长之路第二篇(4)_collections系列
- python生成器
- python一键打包
- python学习笔记
- 【Python】python读取文件操作mysql
- python string unicode字符串
- python:使用paramiko批量管理服务器(含密钥和密码)
- 【python】编程语言入门经典100例--8
- python 文件、目录操作(新增、移动、删除等)
- 【python】编程语言入门经典100例--7
- 【python】编程语言入门经典100例--6
- python【番外篇】:将xml中的数据写入到mysql中
- python解析xml文件
- Python 迭代器 & __iter__方法
- #!/usr/bin/env python与#!/usr/bin/python的区别
- python第六天
- python开发之list操作实例分析
- 不务正业--用python爬虫抓取Konachan的图片并保存到本地文件