1.变量不能独立存在在C++等语言中,变量的声明和赋值是可以分开的inta;a=343;而在python中却不行,在声明python变量的同时必须进行赋值操作a=343如果你直接使用一个不存在的变量,就会发生错误,NameError:name'b'isnotdefined2.变量是内存中数据的引用a=343这样代码被执行时,首先要在内存中创建出343这个对象,然后让a指向它,这便是引用。此后,我们在程序中使用变量a时,其实都是在使用343,python可以
系统 2019-09-27 17:51:55 2346
一、写在前面前几天在微信上看到这样一篇文章,链接为:https://mp.weixin.qq.com/s/rl6Sgv3uk_IpoFAx6cWa8w,在这篇文章中,有这样一段话,吸引了我的注意:在Linux中ls是一个使用频率非常高的命令了,可选的参数也有很多,算是一条不得不掌握的命令。Python作为一门简单易学的语言,被很多人认为是不需要认真学的,或者只是随便调个库就行了,那可就真是小瞧Python了。那这次我就要试着用Python来实现一下Linu
系统 2019-09-27 17:49:51 2346
今天在写zabbixstormjob监控脚本的时候用到了python的redis模块,之前也有用过,但是没有过多的了解,今天看了下相关的api和源码,看到有ConnectionPool的实现,这里简单说下。在ConnectionPool之前,如果需要连接redis,我都是用StrictRedis这个类,在源码中可以看到这个类的具体解释:redis.StrictRedisImplementationoftheRedisprotocol.Thisabstrac
系统 2019-09-27 17:48:51 2346
看到vscode执行python代码的时候,都会使用这个参数,特地去查了一下功能。简单看下官方文档,python-h,如下简单说就是缓存开关的标志,-u就是unbuffered。具体有什么用呢,可以看下这个例子,来自这里1,环境pyhton2.7importsyssys.stdout.write("stdout1")sys.stderr.write("stderr1")sys.stdout.write("stdout2")sys.stderr.write(
系统 2019-09-27 17:48:16 2346
常用时间转换及处理函数:importdatetime#获取当前时间d1=datetime.datetime.now()printd1#当前时间加上半小时d2=d1+datetime.timedelta(hours=0.5)printd2#格式化字符串输出d3=d2.strftime('%Y-%m-%d%H:%M:%S')printd3#将字符串转化为时间类型d4=datetime.datetime.strptime(date,'%Y-%m-%d%H:%M:
系统 2019-09-27 17:46:46 2346
一前言最近在开发的数据核对方案中用到了Python标准库Difflib,本来它工作的挺符合预期,可当它遇到那个文件,仿佛遇到了克星,那文件才100行*77列的数据,经它对比,居然耗时61s。这是无法接受的,因为后续线上流量抽取比对,绝非这点量级。该怎么破?二重现现象以下是使用Difflib比对那个文件,数据量是100行*77列,耗时61s,如下:好吧,那就降低数据量到5行*77列,看看效果,耗时只有0.05s,如下:从耗时结果上,不难发现,Difflib在
系统 2019-09-27 17:57:27 2345
自我学习记录:如有问题,请帮助指正,勿喷。计算1+2+3+4,我们可以直接写表达式print(1+2+3+4)但是如果数字多了,就会很累python的循环有两种,一种是forxin...循环,依次把list或者tuple里面的元素迭代出来,比如names=('Sam','Max','Leo')fornameinnames:print(name)执行的这段代码,就依次打印了names的每一个元素所以forxin...循环就是把每个元素代入变量x,然后执行缩进
系统 2019-09-27 17:56:01 2345
今天这篇文章我们使用TensorFlow针对于手写体识别数据集MNIST搭建一个softmax的多分类模型。本文的程序主要分为两大模块,一个是对MNIST数据集的下载、解压、重构以及数据集的构建;另一个是构建softmax图及训练图。本程序主要是想去理解包含在这些代码里面的设计思想:TensorFlow工作流程和机器学习的基本概念。本文所使用的数据集和Python源代码都已经上传到我的GitHub(https://github.com/ml365/soft
系统 2019-09-27 17:48:13 2345
上一篇文章介绍了线程的使用。然而Python中由于GlobalInterpreterLock(全局解释锁GIL)的存在,每个线程在在执行时需要获取到这个GIL,在同一时刻中只有一个线程得到解释锁的执行,Python中的线程并没有真正意义上的并发执行,多线程的执行效率也不一定比单线程的效率更高。如果要充分利用现代多核CPU的并发能力,就要使用multipleprocessing模块了。0x01multipleprocessing与使用线程的threading
系统 2019-09-27 17:47:03 2345
Python数据类型分为值类型和引用类型,下面我们看下它们的区别:值类型:对象本身不允许修改,数值的修改实际上是让变量指向了一个新的对象包含:字符串、元组、数值,本身不允许被修改引用类型:对象本身可以修改,包含:列表、字典,本身允许修改例子:a=11printid(a)a=16printid(a)结果:43525053L57628312L修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值l=[1,2,3]printid(l)l[0]=0pr
系统 2019-09-27 17:38:02 2345
做爬虫项目时,我们需要考虑一个爬虫在爬取时会遇到各种情况(网站验证,ip封禁),导致爬虫程序中断,这时我们已经爬取过一些数据,再次爬取时这些数据就可以忽略,所以我们需要在爬虫项目中设置一个中断重连的功能,使其在重新运行时从之前断掉的位置重新爬取数据。实现该功能有很多种做法,我自己就有好几种思路,但是真要自己写出来就要费很大的功夫,下面我就把自己好不容易拼凑出来的代码展示出来吧。首先是来介绍代码的思路:将要爬取的网站连接存在一个数组new_urls中,爬取一
系统 2019-09-27 17:56:18 2344
一.JS和python的序列化python的序列化json字符串=json.dumps('python对象')python对象=json.loads('json字符串')JS的序列化js对象=JSON.parse('字符串')json字符串=JSON.stringfy('js对象')二.Django和ajax序列化django序列化1.两次序列化defget_data(request):fromdjango.coreimportserializers#引入
系统 2019-09-27 17:56:10 2344
12.35Django模板系统{{}}和{%%},变量相关的用{{}},逻辑相关的用{%%}app02/views:#模板语言测试函数deftemplate_test(request):name="张三"dic={"name":"张三","age":16,"items":"sb"}list1=[11,22,33,44,55]classPerson(object):def__init__(self,name):self.name=namedefdream
系统 2019-09-27 17:54:08 2344
个人兴趣,用python实现连连看的辅助程序,总结实现过程及知识点。总体思路1、获取连连看程序的窗口并前置2、游戏界面截图,将每个一小图标切图,并形成由小图标组成的二维列表3、对图片的二维列表遍历,将二维列表转换成由数字组成的二维数组,图片相同的数值相同。4、遍历二维数组,找到可消除的对象,实现算法:两个图标相邻。(一条线连接)两个图标同行,同列,且中间的图标全部为空(数值为0)(一条线连接)两条线连接,转弯一次,路径上所有图标为空。(二条线连接)三条线连
系统 2019-09-27 17:50:05 2344
实验室老师让给数据画一张线性拟合图。不会matlab,就琢磨着用python。参照了网上的一些文章,查看了帮助文档,成功的写了出来这里用到了三个库importnumpyasnpimportmatplotlib.pyplotaspltfromscipyimportoptimizedeff_1(x,A,B):returnA*x+Bplt.figure()#拟合点x0=[75,70,65,60,55,50,45,40,35,30]y0=[22.44,22.17,
系统 2019-09-27 17:48:54 2344