拥有Python标签的文章
Python

好程序员Python学习路线分享实现归并排序算法

Python实现归并排序算法归并排序1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(DivideandConquer)的一个非常典型的应用,且各层分治递归可以同时进行。分治法的基本思想将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。归并排序的基本思想排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。动画(

系统 2019-09-27 17:48:16 2235

Python

python里 super类的工作原理详解

super的工作原理如下:defsuper(cls,inst):mro=inst.__class__.mro()returnmro[mro.index(cls)+1]其中,cls代表类,inst代表实例,上面的代码做了两件事:获取inst的MRO列表查找cls在当前MRO列表中的index,并返回它的下一个类,即mro[index+1]当你使用super(cls,inst)时,Python会在inst的MRO列表上搜索cls的下一个类。下面看一个例子:cl

系统 2019-09-27 17:47:45 2235

Python

Python 共享变量加锁、释放详解

一、共享变量共享变量:当多个线程访问同一个变量的时候。会产生共享变量的问题。例子:importthreadingsum=0loopSum=1000000defmyAdd():globalsum,loopSumforiinrange(1,loopSum):sum+=1defmyMinu():globalsum,loopSumforiinrange(1,loopSum):sum-=1if__name__=="__main__":print("Dont,,,,,

系统 2019-09-27 17:45:59 2235

Python

CentOS中使用virtualenv搭建python3环境

问题描述环境:CentOS6.5想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本。之前的做法是直接从源码安装python3,替换掉现有的开发环境,但在随后使用过程中发现系统很多脚本依赖python2.6,直接替换会导致很多软件不正常。今天发现有朋友使用virtualenv搭建python3开发环境,这里记录下,也方便我以后查阅。安装python3安装脚本如下:复制代码代码如下:wgethttps://www

系统 2019-09-27 17:45:51 2235

Python

一些常用的Python爬虫技巧汇总

Python爬虫:一些常用的爬虫技巧总结爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。1、基本抓取网页get方法importurllib2url"http://www.baidu.com"respons=urllib2.urlopen(url)printresponse.read()post方法importurllibimporturllib2url="http://abcde.com"form={'name':'abc','pass

系统 2019-09-27 17:38:00 2235

Python

python的else子句使用指南

在日常coding中,分支语句的使用非常普遍,经常会根据是否满足一定的条件对代码执行的逻辑进行一些控制,所以大家对if[elif[else]]一定不会陌生。分支语句中的else子句在其它的条件不满足的时候会被执行到,适当的使用分支语句能够让我们的代码逻辑更加的丰富。在分支语句中使用else子句在一些常见的编程语言中的用法基本相同,类似于提供了一条默认的执行路径,配合if等条件判断语句使用,相比其它的编程语言(c#,java,js等)在python中,els

系统 2019-09-27 17:37:56 2235

Python

浅谈终端直接执行py文件,不需要python命令

然后给脚本文件运行权限,方法(1)chmod+x./*.py方法(2)chmod755./*.py(777也无所谓啦)这个命令不去调整,会出现permissiondenied的错误终端直接执行。如果在脚本内容的开头已经给出了类似于如下的注释:#!/usr/bin/envpython(或者是#!/usr/bin/python)那就可以直接在终端里运行:./*.py如果没有这个注释就在终端中执行:python./*.py(注意:有些linux版本上运行即使上面

系统 2019-09-27 17:56:48 2234

Python

Python 生成器 generator初步认识

生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的

系统 2019-09-27 17:56:08 2234

Python

【Python】字符串和datetime相互转换

摘要时间序列(timeseries)数据是一种重要的结构化数据形式,应用于多个领域,包括金融学、经济学、生态学、神经科学、物理学等。在多个时间点观察或测量到的任何事物都可以形成一段时间序列。在进行时间序列问题分析时,通常需要将字符串和datetime类型相互转换,本文分享他们之间相互转换的集中常用方法(主要用到的库有datetime、pandas以及dateutil)。(一)datetime->strdatetime类型转成str一般常用的有两种方法:st

系统 2019-09-27 17:56:03 2234

Python

python 反转节点 Leetcode No.24

Swapnodesinpairs大概题意就是两两相邻节点进行反转,但是如果是给的是5个节点的话,那么最后一个节点是不变的,注意这一点。思路非常简单,但是主要考察的是代码实现能力。#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,x):#self.val=x#self.next=NoneclassSolution:defswapPairs(self,head:ListNode)-

系统 2019-09-27 17:55:21 2234

Python

02_python基础(面向对象编程)

面向对象编程:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。面向对象思想三大要素:封装,继承和多态。1定义使用类classStudent(object):#__init__

系统 2019-09-27 17:55:18 2234

Python

Python学习笔记(四)----Pywin32+Pyinstaller制作

一:pywin32+pyinstaller安装双击pywin32-221.win-amd64-py3.5.exe安装,注意安装的时候会自动检测之前安装的Python。下一步,下一步。在CMD命令行进入Python3.5目录下的Scripts目录并执行:pythonpywin32_postinstall.py-install命令在CMD命令行中进入D:\Programs\Python\pyinstaller-pyinstaller目录(之前解压的pyInst

系统 2019-09-27 17:53:44 2234

Python

python网络爬虫原理

爬虫即网络爬虫,英文是WebSpider。翻译过来就是网络上爬行的蜘蛛,如果把互联网看作一张大网,那么爬虫就是在大网上爬来爬去的蜘蛛,碰到想要的食物,就把他抓取出来。我们在浏览器中输入一个网址,敲击回车,看到网站的页面信息。这就是浏览器请求了网站的服务器,获取到网络资源。那么,爬虫也相当于模拟浏览器发送请求,获得到HTML代码。HTML代码里通常包含了标签和文字信息,我们就从中提取到我们想要的信息。通常爬虫是从某个网站的某个页面开始,爬取这个页面的内容,找

系统 2019-09-27 17:51:06 2234

Python

Python3 import tensorflow 出现

问题描述心血来潮想要学习TensorFlow,兴致勃勃的pipinstalltensorflow,想要跟着教程走的时候,却发现importtensorflow时报错,报错信息为FutureWarning:Passing(type,1)or'1type'asasynonymoftypeisdeprecated;inafutureversionofnumpy,itwillbeunderstoodas(type,(1,))/'(1,)type'.解决方法网上查阅

系统 2019-09-27 17:50:15 2234

Python

【Python】自定义分页

Django内置了分页设置,但不够灵活,需要我们自定义分页。下面代码考虑了利用bootstrap分页组件来实现页面美化,如果不想使用,可以不调用url_format_by_bootstrap函数,即可实现普通分页。具体的参数和代码均有注释#!python3#@Project:mysite2-pager.py#@Info:自定义分页操作importreclassPageInfo:""":paramcurrent_page当前页码:paramdata要分页的数

系统 2019-09-27 17:47:37 2234