前言Martin(Bob大叔)曾在《代码整洁之道》一书打趣地说:当你的代码在做CodeReview时,审查者要是愤怒地吼道:“Whatthefuckisthisshit?”“Dude,Whatthefuck!”等言辞激烈的词语时,那说明你写的代码是BadCode,如果审查者只是漫不经心的吐出几个“Whatthefuck?”,那说明你写的是GoodCode。衡量代码质量的唯一标准就是每分钟骂出“WTF”的频率。一份优雅、干净、整洁的代码通常自带文档和注释属性
系统 2019-09-27 17:50:58 2313
Image模块Image模块是在PythonPIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。如open、save、conver、show…等功能。open类Image.open(file)⇒imageImage.open(file,mode)⇒image要从文件加载图像,使用open()函数,在Image模块:@zhangzijufromPILimportImage##调用库im=Image.open("E:\mywife.jpg
系统 2019-09-27 17:50:26 2313
在Python中也可以像gcc/gdb那样调试程序,只要在运行Python程序时引入pdb模块(假设要调试的程序名为d.py):复制代码代码如下:$vid.py#!/usr/bin/pythondefmain():i,sum=1,0foriinxrange(100):sum=sum+iprintsumif__name__=='__main__':main()$python-mpdbd.py运行上面的命令后进入以下界面,可以输入类似gdb的命令来改变程序的执
系统 2019-09-27 17:48:42 2313
Python语言功能非常强大,除了类之外,还有模块和包的概念,这有点像perl,此处简单说说包和模块。一、Python中的模块模块――其实就是我们说的库(lib)的概念,不过它不仅只是可以包含一系列函数,也可以包含类,python里是没有像C语言之类,直接include某文件的,包正是这种类似的东西。Python引入模块的方法有两种:1、import模块名(实际是对应的就是文件名.py)2、模块名=__import__("模块文件名(不带扩展名)")也可以
系统 2019-09-27 17:48:22 2313
希尔排序思想:算法先将要排序的一组数按某个增量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 2313
下面这样的一串代码相信很多人都写过,但可能除了你自己没有人看得懂:forrangeinrange(n):forjinrange(m):forkinrange(l):temp_value=X[i][j][k]*12.5new_array[i][j][k]=temp_value+150这并不是一段好的的代码,为了图省事,使用了简单而无实际含义的变量及数值,看起来在任何程序中都可以用,对于看的人来说就是灾难,因为要想半天或者查看上下文才知道你写的变量是什么意思,
系统 2019-09-27 17:47:28 2313
基本输出python中的输出使用关键字--print,与python2不同的是,python3的输出后面必须要加括号,示例如下:python3.0以上输出:python2.0以上的输出:格式化的输出在程序中看到输出的语句存在%(占位符),那么这就是表示格式化的输出%c字符%s通过str()字符串转换来格式化%i有符号十进制整数%d有符号十进制整数%u无符号十进制整数%o八进制整数%x十六进制整数(小写字母)%X十六进制整数(大写字母)%e索引符号(小写'e
系统 2019-09-27 17:47:14 2313
python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样:1.pythonlambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。2.pythonlambda它只是一个表达式,而def则是一个语句。下面是pythonlambda的格式,看起来非常精简。lambdax:printx
系统 2019-09-27 17:47:09 2313
(2019.7.26)不断更新中……【python】Leetcode(DataStructure/Algorithm)【python】Leetcode(DynamicProgramming)【python】Leetcode(Map)【python】Leetcode(String)【python】Leetcode(Tree)【python】Coding(Interview)文章目录数字260.只出现一次的数字III(字典/位运算)136.只出现一次的数字(字
系统 2019-09-27 17:47:04 2313
一概述1为什么要序列化因为TCP/IP协议只支持字节数组的传输,不能直接传对象。对象序列化的结果一定是字节数组!当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。2序列化和反序列化序列化(serialization):及有序的列,数据转换成二进制的有序的过程协议:规定序列化和反序列化的转换方式及就是把数据
系统 2019-09-27 17:47:02 2313