最近在自学python,又用python实现了一下BLAST。这次更新了打分函数如下,空位罚分改为-5,但不区分gapopen和gapextend。'''''@author:JiuYu'''defscore(a,b):#scoringfunctionscore=0lst=['AC','GT','CA','TG']ifa==b:score+=2elifa+binlst:score+=-5else:score+=-7returnscoredefBLAST(se
系统 2019-09-27 17:52:10 2142
1,递归函数的定义:函数内部可以调用其他的函数,当然可以调用函数自己,函数调用自身的编程技巧称为递归。2,递归函数的代码特点:函数内部的代码是相同的,只是传递的参数不同、需设置当参数满足条件时,不在执行函数,称为递归的出口,这个必须设置,否则会造成死循环。3,示例代码:倒序打印defsum_numbers(num):print(num)#递归的出口,当参数满足条件时,不在进行递归.#递归出口很重要,如不设置则会出现死循环ifnum==1:return1#函
系统 2019-09-27 17:52:06 2142
列表List讓Python的資料型態DataType更有彈性。列表中的值稱為元素element或列表項item。列表的定義如下:[item1,item2,item3,...]列表中元素的datatype可為任意項,甚至可以是嵌入Nested列表,例如:['Apple',85,['Big','Small'],4.0]列表可被視為一個集合Set。1.子集合相加>>>A=[1,2,3]>>>B=[4,5,6]>>>C=A+B>>>C[1,2,3,4,5,6]2.
系统 2019-09-27 17:51:42 2142
黑客泛指擅长IT技术的人群,简单地说,是对计算机系统和网络的缺陷和漏洞的发现进行攻击。他们有着高超的技术能力,同时身怀多种编程语言,随随便便就能攻击别的网站,进行活动。在黑客中,最受喜欢的就是Python语言。有资料显示,目前GitHub代码库中,有超过20%的网络攻击工具或PoC(概念验证)代码都是采用Python编写的,这表明Python是黑客开发网络攻击工具时的首选。作为一门编程语言,Python在信息安全领域拥有极大的优势,其中很重要的一个原因就是
系统 2019-09-27 17:51:31 2142
前言Python以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照Python的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写Python代码,有一个外国小伙总结了一些大家常犯的错误,,我把他翻译过来并在原来的基础补充了我的一些理解,希望可以让你避开这些坑。0、忘记写冒号在if、elif、else、for、while、class、def语句后面忘记添加“:”ifspam==42print('Hello!')
系统 2019-09-27 17:50:54 2142
最近写了一些python3程序,四处能看到bytes类型,而它并不存在于python2中,这也是python3和python2显著区别之一。以前在写python2代码的时候,经常会遇到很多编码报错的异常,原因在于python2对unicode的支持不是特别理想。而在python3中,所有编写的代码都是unicode,python解析器在运行的时候,内部都转换(除非你显示定义为bytes类型)为unicode,减少了出错的可能性。在python3中,有两种字
系统 2019-09-27 17:49:59 2142
1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel
系统 2019-09-27 17:49:28 2142
我用了简单工厂和建造者模式,与python的GUI配合实现了一个简单的计算器系统,下面是运行结果,之后会向大家讲解。类图如下:部分代码如下:builderModel.py建造者模式代码classProduct():"""复杂产品类该类用于存放并返回两个操作数Attributes:self.NumOne:第一个操作数self.NumTwo:第二个操作数"""def__init__(self,NumOne,NumTwo):self.__NumOne=NumOn
系统 2019-09-27 17:49:07 2142
时钟的打印本文免费直播课程分享链接:https://ke.qq.com/course/397896?flowToken=1009460有需要学习提升的宝宝可以进去免费报名一下每天分享一些好完的技术和主流的项目打印时钟:importturtledefdraw_spiral(t,n,length=3,a=0.1,b=0.0002):#DrawsanArchimedianspiralstartingattheorigintheta=0.0foriinrange(
系统 2019-09-27 17:48:44 2142
下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束,例子见下面一。知识点二:当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被
系统 2019-09-27 17:47:34 2142