ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:27.17KB ,
资源ID:29853042      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29853042.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python for Bioinformatics 2初识Python.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Python for Bioinformatics 2初识Python.docx

1、Python for Bioinformatics 2 初识PythonPython for Bioinformatics (2) 初识Python 第二章 初识Python2.1安装Python2.1.1边学边用Python本节说明如何安装Python开始运行你自己的程序。边做边学,是学习的最有效的方式。这是比只是被动地读一本书(即使这本书)更好。你会发现“Python交互模式”在这个意义上说非常有价值,因为它可以比一本书更快地回答你的问题,甚至超过了搜索引擎。你从Python解释器得到的答案是明确的。由于这些原因,我建议继续读这本书之前,安装Python。2.1.2 Python可能已经安

2、装Python是预先安装在Mac OS X和大多数Linux发行版上的。在Windows(XP或Vista)中,你从Python的下载页面(http:/www.python.org/download)下载Windows安装程序,然后安装它。安装非常简单,如果你是曾经安装过Windows程序,不存在任何困难。少说几句,你应该双击安装程序文件(msi扩展名)和运行的Python安装向导。接受默认设置后,不费多大劲,几分钟Python就安装好了。不仅如此,在附录A中有分步骤地指导安装(第393页)。这个附录还为在Unix类系统中(也称的*nix)的用户指示安装额外副本的Python。拥有多个版本的P

3、ython是对用于测试是非常有用的,这里的例子设计是为那些没有管理权限的用户,他又想运行自己的Python副本。2.1.3测试Python一旦安装了Python,你应该确保它工作。在Windows上,只需双击Python图标。 Linux和Mac OS X(注:在Mac上,terminal在Applications/Utilities文件夹下)的用户可以打开一个终端(terminal),然后键入“python”。您应该看到一个像这样的画面:(注:这个显示结果可能会有所不同,取决于系统依赖的Python版本,基本系统,和在编译过程中的设置和选项。)Python 2.6.5 (r265:79063

4、, Jun 12 2010, 17:07:01)GCC 4.3.4 20090804 (release) 1 on cygwinType help, copyright, credits or license for more information._2.1.4首次使用使用Python有两种方式:交互模式和批处理模式。这两种方法是互补的,它们各有不同的用途。交互模式允许程序员在每个指令后立即得到答复。在批处理模式下,指令存储在一个或多个文件,然后执行,这是运行Python程序的标准方式。交互模式主要用于小测试,而大部分程序是在批处理模式下运行。因为测试是学习一项新技能的基础。在整本书中交互模

5、式将被采用。让我们来学习一些使用交互模式的Python基础。2.2交互模式 2.2.1第一步下面的代码显示了如何用命令解释器打印字符串“Hello World!”(注:在编程者中对显示一个语言如何工作时有一个传统,就是打印字符串“Hello World!”,python也不例外。你可以看看在你的程序中输入”import _hello_”会发生什么。):print(“HELLO WORLD!”)HELLO WORLD!注意这里三个大于号字符()是Python的交互模式的提示。你不必键入它。它意味着Python是在准备执行我们的命令或计算我们的表达式。2.2.2 基本输入输出输出:Print在Py

6、thon 3.0之前,print是象下面的样子进行声明: print Hello World!Hello World!这是非常简单易用的,但缺乏一些开发者经常要求的功能,如更改程序的输出(从屏幕到一个文件),更换分隔符从空格到另一个字符,以及更多的功能,不容易在这种声明中实现。这在Python 3中进行了改正,现在print()是一个函数(注:函数是一段特定的代码来完成一个特定的任务,它们将在第六章详细讨论): print(Hello World!)Hello World!这个函数可以接受几个元素: print(Hello,World!)Hello World!也可以改变分割符: print(

7、Hello,World!,sep=,)Hello,World!重定向到一个文件中: print(Hello,World!,sep=,file=filehandle)改变结束符: print(Hello,World!,sep=;,end=nn)Hello;World!输入: 在Python 2.x中的raw_input和input有两个函数可以接受用户的输入到程序中:raw_input是从用户的数据中提取一个字符串并返回它: name = raw_input(Enter your name: )Enter your name: Seba nameSebaInput是从数据中提取一个字符串,然后试

8、图把它作为一个Python程序进行计算 name = input(Enter your name: )Enter your name: SebaTraceback (most recent call last):File , line 1, in File , line 1, in NameError: name Seba is not defined.这是因为Seba不是一个定义的名字,所以就报错了。因此这次我们输入一个在Python中可以计算的表达式(这里是一个字符串): name = input(Enter your name: )Enter your name: Seba nameSe

9、ba输入:在Python 3中的Input在python 3中没有raw_input, 它被input重命名了: name = input(Enter your name: )Enter your name: Seba nameSeba来计算表达式的值,Python 3中用eval()函数: input(Operation: )Operation: 2+22+2 eval(input(Operation: )Operation: 2+24旧的input因为它被认为不清楚的定义被废除了。2.2.3 更多的交互模式交互模式可以被用做一个计算器: 1+12当+运算作用在字符串上时,它返回一个串的连接

10、: 1+111 A string of + charactersA string of characters请注意,单引号()和双引号(“)只要他们使用具有一致性,可以有一个模糊的使用方式。也就是说,如果一个字符串的定义是一种类型的引号开始,它必须以同样类型的引号结束。(注:在第三章将对字符串详细的描述)不同的类型是不能相加的: The answer is + 42Traceback (most recent call last):File , line 1, in ?TypeError: cannot concatenate str and int objects只有相同类型的元素可以相加。

11、要上面的加法变成字符串相加,数字必须被转换成一个字符串,可以采用str()函数: The answer is + str(42)The answer is 42相同的最终结果可以用“字符串格式操作”得到(注:见474页有关如何使用字符串格式化的参考。在Python2.6和3,有一个新的字符串格式化操作在PEP-3101文档中http:/www.python.org/dev/peps/pep-3101): The answer is %s%42The answer is 42你可以给任何Python的元素指定名字,而后引用它们: n = 42 The answer is %s%nThe answ

12、er is 42名称应包含只有字母,数字,下划线(),但它们不能以数字开始。在其他编程语言的名称被指代变量。有一个更详细的描述规则和命名公约见第64页和附录F中。2.2.4 数学运算任何标准的数学运算都能在Python命令行中完成: 12*224 30/310 2*8/2+100228双星(*)这里代表“的乘方”和倒斜线(/)是除法运算符。所以这个表达式的意思是:28:2+100。表2.1中有一个由Python支持的算术运算的名单。表2.1: 算术运算符符号 描述+ 加法- 减法* 乘法/ 除法* 乘方% 取模(求余) 请注意,运算符的优先级是与数学上相同的。记得优先顺序的一种简单方法的缩写P

13、EMDAS:P(Parentheses): 括号有最高的优先级,用于设置表达式求值的顺序。这是为什么2*(3-2)等于2,而(3-1)*(4-1)等于8的原因。括号也可以用来使表达式更容易阅读。E(Exponentation):乘方的优先级是第二,所以2* 2+1是5,而不是8。MD(Multiple和Division): 乘法和除法具有相同的优先级,所以2*2-1是3,而不是2。AS(Addition)和Substraction): 加法和减法具有相同的(最低的)优先级。 最后但并非最不重要的是,运算符如果具有相同优先级就从左向右计算。所以60 / 6* 10产量100而不是1。在表D.4(

14、第464页)有运算符的优先顺序的清单。这里讨论在Python中3.0之前的版本中的数学运算中是如何处理的整数值的。Python 2.x 系列的除法这和想象中的不一样 10/33除法返回的是取整值,也就是说结果的整数部分。要得到浮点数的结果,至少有一个运算量是浮点数: 10.0/33.3333333333333335 10/3.3.3333333333333335Python 3 的除法在Python 3中,任何除法都是浮点数的除法 10/33.3333333333333335 10/25.0要得到和前面一样的结果,用/ 10/33 10/252.2.5 退出Python命令行你可以在任何版本的

15、Python中用CRTLD来退出(这是用Control和D同时按下),从Python2.5开始,有一个退出函数exit()(注:以前的版本用sys.exit()退出)$ python2.5Python 2.5 (r25:51908, May 7 2007, 15:38:46)GCC 3.3.5 (Debian 1:3.3.5-3) on linux2Type help, copyright, credits or license for more exit()$2.3 批处理模式虽然交互式解释器是非常有用的,但是大多数非平凡的方案都是存储在文件中的。在一个交互式会话中使用的代码只有当会话处于活

16、动状态才可以访问。当一个交互式会话关闭时,所有类型代码已经一去不复返了。为了保持代码的持久性,程序就需要存储在文本文件中。当程序从这样的一个文本文件中执行,而不是在交互式解释,它被称为批处理模式。程序都是常规的文本文件,并以“.py”作扩展名。这些文件可以由任何标准文本编辑器产生(如Windows记事本。注;任何文本编辑器都可以用作Python编程,但是这里还是强烈推荐采用编程用的编辑器。本章的最后一节用于帮助你选择一个编辑器。)在一个类Unix系统下的Python脚本的一个可选功能,是第一行添加Python解释器的路径。如果Python解释器是位于/usr/bin/python(在Linux

17、的典型位置),第一行是:#!/usr/bin/python这就是所谓的shebang(译者注:是!的缩写),它是一种Unix的惯例,允许操作系统知道什么是该程序的翻译和解释器,这样在没有显式调用Python解释器的时候用户可以执行程序。(注:这个解释器的路径也在安装多个版本情况下用来选择一个特定的Python版本)如果脚本没有这一行,调用Python程序导致操作系统系统尝试执行一个shell(系统命令行,译者注) 脚本程序。让我们假设你有这样的非常简单的程序:Listing 2.1: “Hello World!” 程序 (hello.py)_print(Hello World!)_只有当它是一

18、个名为Python解释器的参数时,这个程序将在命令行下工作:$ python hello.pyHello World!但是如果你想作为一个独立的程序来运行它,你将看到的是这样的:$ ./hello.py./hello.py: line 1: syntax error near unexpected token Hello world!./hello.py: line 1: print(Hello world!)shell发送这个错误消息是因为试图执行程序时,把它作为一个系统脚本(不调用Python的解释器)。这可以由编辑程序的第一行来避免:Listing 2.2: 有Python命令行的Hel

19、lo World!_#!/usr/bin/pythonprint(Hello World!)_这个版本是工作的,它就象一个可执行的二进制文件(注:在Linux和Mac OSX中,你必须确保该文件可执行权限,这样做是用chmod a+x hello.py)$ ./hello2.pyHello World!如果你想调用的第一个可用的Python解释器,而不是一个特定的解释器,使用#!/usr/bin/env python 。 只有当你想用特定的版本运行你的程序时,使用特定的路径Python解释器(如/mnt/hda2/py252/bin/python2.5)。在Windows中,此行被忽略,因为翻

20、译器的执行是根据文件扩展名(.py)。Python可以在程序编辑器内执行,本文提供的编辑器有此功能。在Python IDLE中(以及大多数其他编辑器也是),你可以用F5键启动程序。在Python程序中文件发现的另一种行通常是“编码注释行(ecoding comment)”。下面这行定义文档其余部分的字符编码方式,采用这种形式:# -*- coding: ENCODING -*-ENCODING可以是例如ascii,latin1,8859-1,UTF-8和其它。因此,与西班牙字符编码的源代码是这一行:# -*- coding: latin1 -*-没有编码注释,Python的解析器将假定为ASC

21、II(即默认的编码方式)。如果你的源代码包含了非ASCII字符,你应该指定一个编码。2.3.1注释如果你尝试IDLE或任何其他有语法着色能力的编辑器创建这个程序,你可能已经注意到,第一行(#!/usr/bin/python)有一种特定的颜色。这是由于使用“#”符号。这个字符在Python有特殊的意义,它是用来识别不被解释执行的行。因此,以该符号开始的行被称为“注释(comments)”。注释不能为程序添加功能,但能帮助程序员和其他可能的读者理解代码。让我们来看看对以前的程序的注释:Listing 2.3: 有注释的Hello World!_#!/usr/bin/env python# The

22、next line prints the string Hello World!print(Hello World!)_在这个特殊的代码的注释是相当没有意义的,因为打印函数的意义很明确。但在其他程序中有的代码不是那么容易理解,注释可以提高代码的可读性。在你的代码前面加注释,这是习惯。(注:这里有一个代码风格的导言来规范代码的写作,改编后的这个导言可以在附录F找到。)注释大部分是想法,用来帮助别人了解我们的代码,但它们甚至可以对程序员自己也有用,有时在看到书写了的一些代码时不记得它的目的了。注释也可以用来禁用部分代码(这就是在编程术语中所谓的“注释掉”,comment-out)。这通常是用于调试

23、目的。当试图替代的代码确定完成一个任务前,最好你保留代码的非活动部分直到你确定使用哪个代码。在代码中改变非活动的注释比重新输入删除的东西比较容易。所有的Python编辑工具都有注释掉或取消注释整个文本块的任务。(注:在Python默认的编辑器(IDLE)中,这个工具在格式(Format)菜单中。)_小技巧:在Python扩展名Python文件具有.py的扩展名,但你也可以找到其他的扩展名的文件是与python相关的:.py:标准的Python文件。.pyc:“编译了”的Python文件。当您第一次导入(import)一个Python模块时,它被编译成字节码,这样在下一次启动的速度更快。用Pyt

24、hon中在compileall模块中的compile_dir函数可以强制编译。请注意,.pyc文件只是加载速度更快,但不是运行速度更快。.pyo:“优化”的代码。它是由运行Python解释器使用-o标志。不要被这个名字骗了,即使启用了-o标志,大多数代码将运行在一样的速度下。 .pyw:这是一个标准的Python文件的扩展,它使得Windows用pythonw.exe而不是python.exe执行。 Pythonw.exe无法启动DOS控制台,所以它的首选是在Windows下的图形程序。 _2.3.2 缩进对Python程序员来说第一件特别的事情是它的代码缩进系统。非编程人员一定会疑惑什么是源

25、代码的缩进。下面是一些不缩进的C代码:if (attr = -1)while (x5)printf(Waiting.n);wait(1);x = x+1;printf(Everything is OKn);else printf(There is an errorn);采用缩进的代码部分(或代码片段)是:if (attr = -1) while (x5) printf(Waiting.n); wait(1); x = x+1; printf(Everything is OKn);else printf(There is an errorn);甚至不需要知道C,我们就可以说第二个程序是比第一个“

26、更清晰”。在编程语言如C或Java中,代码块作为一个实体在执行,是用大括号隔开的。采取这种方式解释器知道,例如printf(”Everything is OKn”)是在if结构内,而不是while结构内。有缩进的程序比没有缩进的程序,其元素之间的逻辑关系更加清晰。考察下面在Python中的代码片段,在这里没有大括号,但是他的代码块是通过缩进定义的:if attr=-1: while x5: print(Waiting.) wait(1) x = x + 1 print(Everything is OK)else print(There is an error)如果你不明白这个程序,这并不重要。这个例子的目的是显示语言中最引人注目的方面之一。它被认为是一种优势,因为当代码的结构是清晰的,它被引入编码错误的机会就会更少。有人说保持这样的代码很烦人,但这种情况并非如此,大多数文本编辑器处理的代码是自动缩进的,所以不存在程序员的负担。另一种批评强制缩进是对深度嵌套代码:一些语句放置在很右边的地方。 有编程工具以避免编写的代码有层次过多的缩进(如编写模块化代码)。适当地使用这些工具是所需要的技能,它是独立于编程语言使用的。(注:Linus Torv

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1