Python for Bioinformatics (2) ~~ 初识Python

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PythonforBioinformatics(2)~~初识Python第二章初识Python2.1安装Python2.1.1边学边用Python本节说明如何安装Python开始运行你自己的程序。边做边学,是学习的最有效的方式。这是比只是被动地读一本书(即使这本书)更好。你会发现“Python交互模式”在这个意义上说非常有价值,因为它可以比一本书更快地回答你的问题,甚至超过了搜索引擎。你从Python解释器得到的答案是明确的。由于这些原因,我建议继续读这本书之前,安装Python。———————————————————————————2.1.2Python可能已经安装Python是预先安装在MacOSX和大多数Linux发行版上的。在Windows(XP或Vista)中,你从Python的下载页面()下载Windows安装程序,然后安装它。安装非常简单,如果你是曾经安装过Windows程序,不存在任何困难。少说几句,你应该双击安装程序文件(msi扩展名)和运行的Python安装向导。接受默认设置后,不费多大劲,几分钟Python就安装好了。不仅如此,在附录A中有分步骤地指导安装(第393页)。这个附录还为在Unix类系统中(也称的*nix)的用户指示安装额外副本的Python。拥有多个版本的Python是对用于测试是非常有用的,这里的例子设计是为那些没有管理权限的用户,他又想运行自己的Python副本。—————————————————————————2.1.3测试Python一旦安装了Python,你应该确保它工作。在Windows上,只需双击Python图标。Linux和MacOSX(注:在Mac上,terminal在Applications/Utilities文件夹下)的用户可以打开一个终端(terminal),然后键入“python”。您应该看到一个像这样的画面:(注:这个显示结果可能会有所不同,取决于系统依赖的Python版本,基本系统,和在编译过程中的设置和选项。)Python2.6.5(r265:79063,Jun122010,17:07:01)[GCC4.3.420090804(release)1]oncygwinTypehelp,copyright,creditsorlicenseformoreinformation._____________________________________________________2.1.4首次使用使用Python有两种方式:交互模式和批处理模式。这两种方法是互补的,它们各有不同的用途。交互模式允许程序员在每个指令后立即得到答复。在批处理模式下,指令存储在一个或多个文件,然后执行,这是运行Python程序的标准方式。交互模式主要用于小测试,而大部分程序是在批处理模式下运行。因为测试是学习一项新技能的基础。在整本书中交互模式将被采用。让我们来学习一些使用交互模式的Python基础。———————————————————————————2.2交互模式2.2.1第一步下面的代码显示了如何用命令解释器打印字符串“HelloWorld!”(注:在编程者中对显示一个语言如何工作时有一个传统,就是打印字符串“HelloWorld!”,python也不例外。你可以看看在你的程序中输入”import__hello__”会发生什么。):print(“HELLOWORLD!”)HELLOWORLD!注意这里三个大于号字符()是Python的交互模式的提示。你不必键入它。它意味着Python是在准备执行我们的命令或计算我们的表达式。———————————————————————————2.2.2基本输入输出输出:Print在Python3.0之前,print是象下面的样子进行声明:printHelloWorld!HelloWorld!这是非常简单易用的,但缺乏一些开发者经常要求的功能,如更改程序的输出(从屏幕到一个文件),更换分隔符从空格到另一个字符,以及更多的功能,不容易在这种声明中实现。这在Python3中进行了改正,现在print()是一个函数(注:函数是一段特定的代码来完成一个特定的任务,它们将在第六章详细讨论):print(HelloWorld!)HelloWorld!这个函数可以接受几个元素:print(Hello,World!)HelloWorld!也可以改变分割符:print(Hello,World!,sep=,)Hello,World!重定向到一个文件中:print(Hello,World!,sep=,,file=filehandle)改变结束符:print(Hello,World!,sep=;,end=’\n\n’)Hello;World!输入:在Python2.x中的raw_input和input有两个函数可以接受用户的输入到程序中:raw_input是从用户的数据中提取一个字符串并返回它:name=raw_input(Enteryourname:)Enteryourname:Sebaname’Seba’Input是从数据中提取一个字符串,然后试图把它作为一个Python程序进行计算name=input(Enteryourname:)Enteryourname:SebaTraceback(mostrecentcalllast):Filestdin,line1,inmoduleFilestring,line1,inmoduleNameError:name’Seba’isnotdefined.这是因为Seba不是一个定义的名字,所以就报错了。因此这次我们输入一个在Python中可以计算的表达式(这里是一个字符串):name=input(Enteryourname:)Enteryourname:Sebaname’Seba’输入:在Python3中的Input在python3中没有raw_input,它被input重命名了:name=input(Enteryourname:)Enteryourname:Sebaname’Seba’来计算表达式的值,Python3中用eval()函数:input(Operation:)Operation:2+2’2+2’eval(input(Operation:))Operation:2+24旧的input因为它被认为不清楚的定义被废除了。———————————————————————————2.2.3更多的交互模式交互模式可以被用做一个计算器:1+12当‘+’运算作用在字符串上时,它返回一个串的连接:’1’+’1’’11’Astringof+’characters’’Astringofcharacters’请注意,单引号(')和双引号(“)只要他们使用具有一致性,可以有一个模糊的使用方式。也就是说,如果一个字符串的定义是一种类型的引号开始,它必须以同样类型的引号结束。(注:在第三章将对字符串详细的描述)不同的类型是不能相加的:’Theansweris’+42Traceback(mostrecentcalllast):Filestdin,line1,in?TypeError:cannotconcatenate’str’and’int’objects只有相同类型的元素可以相加。要上面的加法变成字符串相加,数字必须被转换成一个字符串,可以采用str()函数:’Theansweris’+str(42)’Theansweris42’相同的最终结果可以用“字符串格式操作”得到(注:见474页有关如何使用字符串格式化的参考。在Python2.6和3,有一个新的字符串格式化操作在PEP-3101文档中):’Theansweris%s’%42’Theansweris42’你可以给任何Python的元素指定名字,而后引用它们:n=42’Theansweris%s’%n’Theansweris42’名称应包含只有字母,数字,下划线(),但它们不能以数字开始。在其他编程语言的名称被指代变量。有一个更详细的描述规则和命名公约见第64页和附录F中。———————————————————————————2.2.4数学运算任何标准的数学运算都能在Python命令行中完成:12*22430/3102**8/2+100228双星(**)这里代表“的乘方”和倒斜线(/)是除法运算符。所以这个表达式的意思是:28:2+100。表2.1中有一个由Python支持的算术运算的名单。表2.1:算术运算符—————————————————————————————————————符号描述+加法-减法*乘法/除法**乘方%取模(求余)—————————————————————————————————————请注意,运算符的优先级是与数学上相同的。记得优先顺序的一种简单方法的缩写PEMDAS: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(第464页)有运算符的优先顺序的清单。这里讨论在Python中3.0之前的版本中的数学运算中是如何处理的整数值的。Python2.x系列的除法这和想象中的不一样10/33除法返回的是取整值,也就是说结果的整数部分。要得到浮点数的结果,至少有一个运算量是浮点数:10.0/33.333333333333333510/3.3.3333333333333335Python3的除法在Python3中,任何除法都是浮点数的除法10/33.333333333333333510/25.0要得到和前面一样的结果,用//10//3310//25——————————————————————————————2.2.5退出Python命令行你可以在任何版本的Python中用CRTL-D来退出(这是用Control和D同时按下),从Python2.5开始,有一个退出函数exit()(注:以前的版本用sys.exit()退出)$python2.5Python2.5(r25:51908,May72007,15:38:46)[GCC3.3.5(Debian1:3.3.5-3)]onlinux2Typehelp,copyright,creditsorlicenseformore=information.exit()$——————————————————————————————2.3批处理模式虽然交互式解释器是非常有用的,但是大多数非平凡的方案都是存储在文件中的。在一个交互式会话中使用的代码只有当会话处于活动状态才可以访问。当一个交互式会话关闭时,所有类型代码已经一去不复返了。为了保持代码的持久性,程序就需要存储在文本文件中。当程序从这样的一个文本文件中执行,而不是在交互式解释,它被称为批处理模式。程序都是常规的文本文件,并以“.py”作扩展名。这些文件可以由任何标准文本编辑器产生(如Windows记事本。注;任何文本编辑器都可以用作Python编程,但是这里还是强烈推荐采用编程用的编辑器

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功