Python世界棒的地方之一,就是大量的第三方程序包。同样,管理这些包也非常容易。按照惯例,会在 requirements.txt 文件中列出项目所需要的包。每个包占一行,通常还包含版本号。这里有一个例子
Python 程序包有一个缺陷是,它们默认会进行全局安装。我们将要使用一个工具,使我们每个项目都有一个独立的环境,这个工具叫virtualenv。我们同样要安装一个更高级的包管理工具,叫做pip,他可以和virtualenv配合工作。
首先,我们需要安装pip。大多数python安装程序已经内置了easy_install(python默认的包管理工具),所以我们就使用easy_install pip来安装pip。这应该是你一次使用easy_install 了。如果你并没有安装easy_install ,在linux系统中,貌似从python-setuptools 包中可以获得。
如果你使用的Python版本高于等于3.3, 那么Virtualenv 已经是标准库的一部分了,所以没有必要再去安装它了。
下一步,你希望安装virtualenv和virtualenvwrapper。Virtualenv使你能够为每个项目创造一个独立的环境。尤其是当你的不同项目使用不同版本的包时,这一点特别有用。Virtualenv wrapper 提供了一些不错的脚本,可以让一些事情变得容易。
当virtualenvwrapper安装后,它会把virtualenv列为依赖包,所以会自动安装。
打开一个新的shell,输入mkvirtualenv test 。如果你打开另外一个shell,则你就不在这个virtualenv中了,你可以通过workon test 来启动。如果你的工作完成了,可以使用deactivate 来停用。
循环语句的应用
举个例子如果我们要生产一个list [1,2,3,4,5,6,7,8,9,10] 我们可以使用range(1,11)来表示,如果直接写range(11) 是从0开始,我们可以演示一下。print range(11)print range(1,11)print range(8,11)
然后我们想一下 如果要表示[1*1,2*2,3*3,4*4.....100*100]要怎么做呢?好肯定是要利用到循环的概念,正常的写法是这样的:
a = [] #定义一个空的列表for x in range(1,101): #假设X在从1开始循环到100 a.append(x * x) # 进行一次添加操作 x* xprint a
作为一个程序员,就要是使用短的代码效的完成程序表达的功能,如果使用循环写的话会感觉比较繁琐,特别是逻辑能力不太强的朋友,我们可以使用一行语句代替循环,我们测试看看
print [x * x for x in range(1,101)]
当然除了计算之外,我们还可以做一些比较特殊的字符串操作,比如:
print [m + n for m in 'ABC' for n in 'XYZ']
我们可以看到我们把A B C 都加了一遍XYZ 如果要用正常的循环也是可以完成的就是了,这样的操作更加简单便捷。