#-*-coding:utf-8-*-classSuperTupl(tuple):defto_lis(self):returnlist(self)defto_dic(self,set_key=0):a={str(val[set_key]):valforvalinself}returnSuperDic(**a)classSuperDic(dict):defclean(self,key):"""d=SuperDic(a=1,b=2,c=3)print(d.cl
系统 2019-09-27 17:55:31 2298
对于每一个学习Python的同学,想必对@符号一定不陌生了,正如你所知,@符号是装饰器的语法糖,@符号后面的函数就是我们本文的主角:装饰器。装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为装饰器。曾经我在刚转行做程序员时的一次的面试中,被面试官问过这样的两个问题:1、你都用过装饰器实现过什么样的功
系统 2019-09-27 17:55:11 2298
一、Linux环境和Windows环境下个人推荐推荐使用geany,个人认为这个编辑器优于pycharm,pycharm破解起来异常麻烦,而且它体积小,能够运行几乎所有的程序(而无需终端来运行)。也可以选择anaconda作为geany当做python的编辑器Linux中安装的命令如下:sudoapt-getgeanywindows中,可以点击链接https://www.geany.org/Download/Releases,然后找到Releases目录下
系统 2019-09-27 17:55:10 2298
os模块介绍os.listdir(path)返回path指定的文件夹包含的文件或文件夹的名字的列表。os.open(file,flags[,mode])打开一个文件,并且设置需要的打开选项,mode参数是可选的。os.remove(path)删除路径为path的文件。如果path是一个文件夹,将抛出OSError;查看下面的rmdir()删除一个directory。os.rename(src,dst)重命名文件或目录,从src到dst。os.renames
系统 2019-09-27 17:52:41 2298
有时候需要比较大的计算量,这个时候Python的效率就很让人捉急了,此时可以考虑使用numba进行加速,效果提升明显~(numba安装貌似很是繁琐,建议安装Anaconda,里面自带安装好各种常用科学计算库)fromnumbaimportjit@jitdeft(count=1000):total=0foriinrange(int(count)):total+=ireturntotal测试效果:(关于__wrapped__见我的博文:浅谈解除装饰器作用(py
系统 2019-09-27 17:50:24 2298
最近学习了一点python,那就试着做一做简单的编程练习。首先是这个编程的指导图,如下:对的,类似一个简单区块链的模拟。代码如下:classDaDaBlockCoin:#index索引,timestamp时间戳,data交易记录,self_hash交易hash,last_hash,上个hashdef__init__(self,idex,timestamp,data,last_hash):self.idex=idexself.timestamp=timest
系统 2019-09-27 17:49:38 2298
前几天和隔壁邻居玩斗地主被发现了,牌被没收了,斗地主是斗不了了,但我还想和邻居玩耍。如果你还想斗斗地主,戳:趁老王不在,和隔壁邻居斗斗地主,比比大小想破脑袋终于让我想到一个游戏,数独!什么叫数独?数独就是可以让我趁老王不在的时候和隔壁邻居一起玩耍的游戏!数独的规则1、数字1-9在每一行只能出现一次。2、数字1-9在每一列只能出现一次。3、数字1-9在每一个3x3宫内只能出现一次。3x3的宫内为A1-C3,A4-C6,A7-C9,D1-F3,D4-F6,D7
系统 2019-09-27 17:49:37 2298
希尔排序思想:算法先将要排序的一组数按某个增量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 2298
Python简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写你的程序。Python是面向对象语言:这意味着Python支持面
系统 2019-09-27 17:47:39 2298
python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:1.pythonlambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。2.pythonlambda它只是一个表达式,而def则是一个语句。下面是pythonlambda的格式,看起来非常精简。lambdax:printx
系统 2019-09-27 17:47:09 2298