defsend_mail(to_mail,subject,data,filename=None):smtp_server='smtp.exmail.qq.com'from_mail=""mail_pass=""msg=MIMEMultipart()msg["From"]=from_mailmsg["To"]=','.join(to_mail)msg["Subject"]=Header(subject,'utf-8').encode()#构造htmld=da
系统 2019-09-27 17:53:10 2066
前言在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环即都是可迭代的。range概述range是用于产生连续或者带步长的数字元素组成的列表,下面是一些基本使用及场景示例。产生数字序列#产生0-9的序列foriinrange(0,10):print(i)print('-'*40)#产生0-20,步进(间隔)为3的数字元素组成的序列
系统 2019-09-27 17:53:03 2066
概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c
系统 2019-09-27 17:52:42 2066
最近在自学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 2066
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。“入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定不是一个有向无环图。因为学习A的经验可以帮助你学习B。因此,你不需要学习怎么样“入门”,因为这样的“入门”点根本不存在!你需要学习的是怎么样做一个比较大的东西,在这个过程中,你会很快地
系统 2019-09-27 17:51:52 2066
没必要.目前网上优质、实用的免费课程有很多,而一些收费的课程目的并不在于授业解惑,而是在于盈利。如果本着分享的目的,获取一些回报自然无可厚非,只怕绝大多数提供课程的出发点就带着商业行为,这样对于刚入门、不了解情况的初学者是一个非常严重的误导,不仅花费冤枉钱,而且掉进坑里费心费力,文末有资源下载方式。说一下我关于Python学习的看法,我认为Python作为一个较为简单的编程语言没必要看一些视频课程,这样会花费大量时间,而对于编程最高效的学习路线莫过于以下几
系统 2019-09-27 17:51:45 2066
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前复制代码代码如下:python-mpdbmyscript.py2.在Python交互环境中启用调试复制代码代码如下:>>>importpdb>>>importmymodule>>>pdb.run(‘mymodule.
系统 2019-09-27 17:51:04 2066
习题1:读入文件pmi_days.csv,完成以下操作:1.统计质量等级对应的天数,例如:优:5天良:3天中度污染:2天2.找出PMI2.5的最大值和最小值,分别指出是哪一天。importpandasimportnumpyfile=open(r"pmi_days.csv")df=pandas.read_csv(file)date=df.groupby('质量等级')excellent=dict([xforxindate])['优']good=dict([x
系统 2019-09-27 17:50:40 2066
如下所示:#-*-coding:UTF-8-*-importwaveimportnumpyasnpimportmatplotlib.pyplotasplt#打开wav文件,open返回一个的是一个Wave_read类的实例,通过调用它的方法读取WAV文件的格式和数据。f=wave.open(r"D:\project\REC001.wav","rb")#读取格式信息#一次性返回所有的WAV文件的格式信息,它返回的是一个组元(tuple):声道数,量化位数(b
系统 2019-09-27 17:49:51 2066
接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因。晚上特别针对Python的self查了一下,理理。Python要self的理由Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数(self),但在调用这个方法的时候不必为这个参数赋值(显胜于隐的引发)。Python的类的方法的这个特别的参数指代的是对象本身,而按照Python的惯例,它用self来表示。(当然我们也可以用其他任何名称来代替,只
系统 2019-09-27 17:49:43 2066