1.遇到问题每次看书,总想知道自己看书进度条是多少,无奈只好通过计算器计算已看页数/总页数,得到对应百分比。一来计算麻烦,二来没有进度条直观。于是就想,能不能利用Python去做一个读书进度条记录。2.代码编写defbar(n,m):jd='\r%2d%%[%s%s]'n1=int(n*20/m)m1=int(m*20/m)a='■'*n1b='□'*(m1-n1)c=(float(n/m))*100print(jd%(c,a,b),end='')prin
系统 2019-09-27 17:52:35 1993
getattr`getattr`函数属于内建函数,可以通过函数名称获取复制代码代码如下:value=obj.attributevalue=getattr(obj,"attribute")使用`getattr`来实现工厂模式复制代码代码如下:#一个模块支持html、text、xml等格式的打印,根据传入的formate参数的不同,调用不同的函数实现几种格式的输出importstatsoutdefoutput(data,format="text"):outpu
系统 2019-09-27 17:51:59 1993
python是一个很有趣的语言,可以在命令行窗口运行。python中有很多功能强大的模块,这篇经验告诉你,如何使用python的pygal模块绘制反正切函数图像。1.简介pygal是一个SVG图表库。SVG是一种矢量图格式。全称ScalableVectorGraphics--可缩放矢量图形。用浏览器打开svg,可以方便的与之交互。2.pygal安装Windows下pygal的安装比pip还要简单,直接在命令模式执行python-mpipinstall--u
系统 2019-09-27 17:51:22 1993
希尔排序思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。一般的初次取序列的一半为增量,以后每次减半,直到增量为1。defshell_sort(list):n=len(list)gap=n//2new_list=[]whilegap>1:foriinrange(gap):iflist[i]>list[i
系统 2019-09-27 17:48:17 1993
损失函数(lossfunction)用来表示当前的神经网络对训练数据不拟合的程度。这个损失函数有很多,但是一般使用均方误差和交叉熵误差等。1.均方误差(meansquarederror)先来看一下表达式:用于将的求导结果变成,是神经网络的输出,是训练数据的标签值,k表示数据的维度。用python实现:defMSE(y,t):return0.5*np.sum((y-t)**2)使用这个函数来具体计算以下:t=[0,1,0,0]y=[0.1,0.05,0.05
系统 2019-09-27 17:47:48 1993
有时候经常看到python代码中含有if__name__=='__main__'的代码,但是却一直不知道是什么意思,可以通过相应的代码去试验即可知道其作用。一、理解我们知道每个python文件既可以被直接执行,则可以作为脚本导入到其他文件中。从而构建各个模块的联系。而if__name__=='__main__'的作用也是用来区分是自己作为自己的文件进行执行的,还是被导入到其他文件当做脚本使用。为了更好的区分,看如下例子:步骤一:新建一个文件为:test.p
系统 2019-09-27 17:47:33 1993
字典排序在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。按“值”排序按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。sorted(iterable[,cmp[,key[,reverse]]])iterable:是可迭代类型类型;cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中
系统 2019-09-27 17:47:11 1993
目录常用代码片段及技巧自动选择GPU和CPU切换当前目录临时添加环境目录打印模型参数将tensor的列表转换为tensor内存不够debugtensormemory常用代码片段及技巧自动选择GPU和CPUdevice=torch.device('cuda'iftorch.cuda.is_available()else'cpu')#modelandtensortodevicevgg=models.vgg16().to(device)切换当前目录importo
系统 2019-09-27 17:55:40 1992
本文实例讲述了python中二维阵列的变换方法。分享给大家供大家参考。具体方法如下:先看如下代码:arr=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]printmap(list,zip(*arr))print'_-------------------------------------------------'print[[r[col]forrinarr]forcolinrange(len(arr[0]))]运行结果如下:[[1
系统 2019-09-27 17:55:35 1992
一、安装python31.下载python安装包(python3.6)wgethttps://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz2.将安装包移动到/usr/local文件夹下mvPython-3.6.5.tgz/usr/local/3.在local目录下创建python3目录mkdir/usr/local/python34.进入到Python-3.6.5.tgz所在的目录下cd/usr/loca
系统 2019-09-27 17:55:20 1992
花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好
系统 2019-09-27 17:55:03 1992
5位数日期戳读取.mat文件处理里面数据时,发现里面的日期数据全部都是“5位数”数字,很不解;后来查到可以在excel中通过设置单元格调回标准日期格式,如下:选中日期戳,右键选择“格式化单元格(FormatCells)”选择需要的日期格式,点击ok即可通过代码转成标准日期例如这个DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“标准日期”;确认起始日期首先需拿一个“日期戳”对应的时间(标准日期),减去这个日期戳,得出起始时间。获
系统 2019-09-27 17:54:46 1992
前言:我一直觉得对我来说学习知识很忌讳不系统。本篇内容与上一篇自定义序列类是有联系的。上一篇比较通范的了解了序列类的一些协议和特性,并且有些list的内容。这篇更加具体到set和dict这两个序列类。以此来了解python序列类的具体应用。(这篇比较简单)(感觉具体比抽象都更容易理解,但是也要学会思考把具体对象抽象化来表达,即提取共性)content:1.dict在abc中的序列类型和继承关系2.dict实现了的常用方法3.我可不可以继承dict这种序列类
系统 2019-09-27 17:54:41 1992
学习器在测试集上的误差我们通常称作“泛化误差”。要想得到“泛化误差”首先得将数据集划分为训练集和测试集。那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法。介绍这两种方法的资料有很多。下面是k折交叉验证法的python实现。##一个简单的2折交叉验证fromsklearn.model_selectionimportKFoldimportnumpyasnpX=np.array([[1,2],[3,4],[1,3],[3,5]])Y=np.array([
系统 2019-09-27 17:54:40 1992
Python入门之闭包1、闭包(1)在嵌套函数内使用(非本层变量)和非全局变量就是闭包(2)_closure_判断是不是闭包deffunc():a=1deffoo():print(a)print(foo.__closure__)#判断是不是闭包func()defwrapper():a=1definner():print(a)returninnerret=wrapper()a=2defwrapper():definner():print(a)returnin
系统 2019-09-27 17:54:33 1992