前言二叉树(BinaryTree)时数据结构中一个非常重要的结构,其具有。。。。(此处省略好多字)。。。。等的优良特点。之前在刷LeetCode的时候把有关树的题目全部跳过了,(ORZ:我这种连数据结构都不会的人刷j8Leetcode啊!!!)所以!!!敲黑板了!!!今天我就在B站看了数据结构中关于树的内容后,又用我浅薄的Python大法来实现一些树的建立和遍历。关于树的建立我觉得层序建立对于使用者来说最为直观,输入很好写。(好吧,我是看LeetCode中
系统 2019-09-27 17:54:59 2189
Python2的报废(EOL)日期迟迟未到,不过现在终于有了眉目。自2020年1月1日起,Python2将不再得到支持。Python的核心开发人员将不再提供错误修复版或安全更新。因此,如果你仍在使用Python2.x,是时候将代码移植到Python3了。如果你继续使用未得到支持的模块,可能危及贵企业及数据的安全性,因为无人修复的漏洞迟早会出现。问题的严重性下面这张表列出了十个流行的Python软件包及统计数据,来自Python社区开发和共享的软件的存储中心
系统 2019-09-27 17:54:02 2189
一、Python基础1.1基本语法行与缩进:python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。多行语句:Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,在[],{},或()中的多行语句,不需要使用反斜杠(\)。数字类型:整数int、布尔型bool(true)、浮点数float和复数complex(1+2j、1.1+2.2j)。字符串:引号和双引号使用完全相同,使用三引号(’’'或""")可以指定
系统 2019-09-27 17:53:35 2189
我们直接用Requests、Selenium等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。但是写多了会发现其内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久而久之,爬虫框架就诞生了。利用框架我们可以不用再去关心某些功能的具体实现,只需要去关心爬取逻辑即可。有了它们,可以大大简化代码量,而且架构也会变得清晰,爬取效率也会高许多。所以如果对爬虫有一定基础,上手框架是一种好的选择。本
系统 2019-09-27 17:53:32 2189
详细见我的个人博客:Ubuntu安装Python3.6Ubuntu16.04下默认系统自带Python2和Python3.5的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3.6那么我们知道编译安装源码包和系统默认包之间是没有任何影响的。一、下载tar包首先去Python官网下载Python3的源码包,网址:https://www.python.org/downloads/release/python-365/进去之后点击导
系统 2019-09-27 17:52:58 2189
Python正则表达式匹配数字电话号码:\d{3}-\d{8}|\d{4}-\d{7}QQ号:[1-9][0-9]{4,}中国邮政编码:[1-9]\d{5}(?!\d)身份证:\d{15}|\d{18}ip地址:\d+\.\d+\.\d+\.\d+[1-9]\d*正整数-[1-9]\d*负整数-?[1-9]\d*整数[1-9]\d*|0非负整数-[1-9]\d*|0非正整数[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数-([1-9]\d
系统 2019-09-27 17:50:40 2189
之前遇到一个场景是这样的:我在自己的电脑上需要用mongodb图形客户端,但是mongodb的服务器地址没有对外网开放,只能通过先登录主机A,然后再从A连接mongodb服务器B。本来想通过ssh端口转发的,但是我没有从机器A连接ssh到B的权限。于是就自己用python写一个。原理很简单。1.开一个socketserver监听连接请求2.每接受一个客户端的连接请求,就往要转发的地址建一条连接请求。即client->proxy->forward。proxy
系统 2019-09-27 17:50:32 2189
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 2189
解决print()中文的乱码问题!!!#-*-coding:utf-8-*-importioimportsys#改变标准输出的默认编码(改变中文输出的乱码问题)sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')selenium+chrome浏览器进行爬虫下载chrome的浏览器驱动(http://chromedriver.storage.googleapis.com/index.ht
系统 2019-09-27 17:49:57 2189
多个字段模糊查询,括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思#搜索功能@csrf_exempt#使用@csrf_exempt装饰器,免除csrf验证defsearch_testCaseApi(request):ifrequest.method=='POST':name=request.POST.get('task_name')updateUser=request.
系统 2019-09-27 17:49:23 2189