Python - 军军小站|张军博客
Python

二分查找(Python)

1、BinarySearch算法简介二分查找,它的时间复杂度是O(logn)。其核心思想有点类似分治思想。即每次都通过跟区间中的中间元素对比,将待查找的区间缩小为一半,直到找到要查找的元素,或者区间被缩小为0。但是二分查找的代码实现比较容易写错。你需要着重掌握它的三个容易出错的地方:循环退出条件、mid的取值,low和high的更新。二分查找虽然性能比较优秀,但应用场景也比较有限。底层必须依赖数组,并且还要求数据是有序的。对于较小规模的数据查找,我们直接使

系统 2019-09-27 17:54:58 1829

Python

python bottle框架支持jquery ajax的RESTful风格

这两天在用python的bottle框架开发后台管理系统,接口约定使用RESTful风格请求,前端使用jqueryajax与接口进行交互,使用POST与GET请求时都正常,而RequestMethod使用PUT或DELETE请求时,直接爆“HTTPError405:MethodNotAllowed”错误。而ajax提交的RequestMethod值DELETE也变成了OPTIONS了。度娘了好多答案,要么说是浏览器不支持,要么说自己重新封装jquery,还

系统 2019-09-27 17:54:55 1829

Python

Python 硬币兑换问题

硬币兑换问题:给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少。#动态规划思想dp方程式如下#dp[0]=0#dp[i]=min{dp[i-coins[j]]+1},且其中i>=coins[j],0<=j

系统 2019-09-27 17:54:53 1829

Python

python urllib urlopen()对象方法/代理的补充说明

pythonurlliburlopen()对象方法/代理的补充说明urllib是python自带的一个抓取网页信息一个接口,他最主要的方法是urlopen(),是基于python的open()方法的。下面是主要说明:urllib.urlopen('网址')这里传入urlopen()的参数有特别说要求,要遵循一些网络协议,比如http,ftp,也就是说,在网址的开头必须要有http://这样的说明,如:urllib.urlopen('http://www.b

系统 2019-09-27 17:54:45 1829

Python

实例详解Python装饰器与闭包

闭包是Python装饰器的基础。要理解闭包,先要了解Python中的变量作用域规则。变量作用域规则首先,在函数中是能访问全局变量的:>>>a='globalvar'>>>deffoo():print(a)>>>foo()globalvar然后,在一个嵌套函数中,内层函数能够访问在外层函数中定义的局部变量:>>>deffoo():a='freevar'defbar():print(a)returnbar>>>foo()()freevar闭包上面的嵌套函数就是

系统 2019-09-27 17:54:39 1829

Python

python引入导入自定义模块和外部文件的实例

项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包如果是web下,比如说django,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了如果是本地代码,可以有几种方式,1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录folder------toinvoke.py------tobeinvoded.py这样在toinvoke.py中引入i

系统 2019-09-27 17:54:22 1829

Python

python数据结构链表之单向链表(实例讲解)

单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。节点实现classNode(object):"""单链表的结点"""def__init__(self,item

系统 2019-09-27 17:54:18 1829

Python

Python读写Excel文件方法介绍

一、读取excel这里介绍一个不错的包xlrs,可以工作在任何平台。这也就意味着你可以在Linux下读取Excel文件。首先,打开workbook;复制代码代码如下:importxlrdwb=xlrd.open_workbook('myworkbook.xls')检查表单名字:复制代码代码如下:wb.sheet_names()得到第一张表单,两种方式:索引和名字复制代码代码如下:sh=wb.sheet_by_index(0)sh=wb.sheet_by_n

系统 2019-09-27 17:54:06 1829

Python

Python标准库之多进程(multiprocessing包)介绍

在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。进程池进程池(ProcessPool)可以创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。“三个进程的进程池”比如下面的程序:复制代码代码如下:importmultiprocessingasmuldeff(x):returnx**2pool=mul.Pool(5)r

系统 2019-09-27 17:53:52 1829

Python

谁说学Python不实用,看我如何用数据分析来反击给我丢锅的同事!

运营:“活动参与人数那么少,肯定是推广渠道不行”市场:“PV和UV都很高,最后转化这么低,运营是不是有环节没做好?”产品:“我觉得这个功能这样改绝对能提升用户留存!所以这个需求必须要实现”程序员:“怎么证明这是有效需求,我不要你觉得...”如果各位在职场中有和同事argue的经历,凭猜想定位问题,彼此谁都说服不了谁,这个时候就要丢出杀手锏——数据。不仅要拿数据,还要用数据,用数据分析每个环节,定位具体问题,用异常数据证明问题所在,用合理数据推测活动效果。拥

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

Python

Python面向对象编程——封装

Python面向对象编程——封装从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的。一、先看如何隐藏在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式:classA:__N=0#类的数据属性就应该是共享的,但是语法上是可以把类的

系统 2019-09-27 17:53:36 1829

Python

Python lambda和Python def区别分析

Python支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方。lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda?>>>deff(x):...returnx+2...>>>f(1)3>>>f=lambdax:x+2>>>f(1)3>>>(lambdax:x+2)(1)3Pythondef和Pythonlambda它们有

系统 2019-09-27 17:53:35 1829

Python

python适合人工智能的理由和优势

Python借助AI和数据科学,目前已经攀爬到了编程语言生态链的顶级位置,可以说Python基本上与AI已经紧密捆绑在了一起了。为什么人工智能开发要使用到python语言?小编认为基于以下几个原因:简洁高效Python作为一门编程语言,对于程序员来说,想要从事AI和机器学习相关的工作,Python是再合适不过的选择。简洁优美、开发效率高,Python语言已经得到了越来越多公司的青睐,很多公司都开始选用Python进行网站Web、搜索引擎、云计算、大数据、人

系统 2019-09-27 17:53:33 1829

Python

Python编程中的反模式实例分析

本文实例讲述了Python编程中的反模式。分享给大家供大家参考。具体分析如下:Python是时下最热门的编程语言之一了。简洁而富有表达力的语法,两三行代码往往就能解决十来行C代码才能解决的问题;丰富的标准库和第三方库,大大节约了开发时间,使它成为那些对性能没有严苛要求的开发任务的首选;强大而活跃的社区,齐全的文档,也使很多编程的初学者选择了它作为自己的第一门编程语言。甚至有国外的报道称,Python已经成为了美国顶尖大学里最受欢迎的编程入门教学语言。要学好

系统 2019-09-27 17:53:32 1829

Python

Python字符串和正则表达式中的反斜杠('\')问题详解

在Python普通字符串中在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如In[1]:print('abc\ndef')#'\n'具有换行的作用abcdefgIn[2]:print('abc\tdef')#'\t'具有制位符的作用abcdefg我们还可以用'\'来转义特殊字符,使其成为普通字符,比如In[3]:print('abc\\tdef')#使'\'成为一个普通的字符,没有转义作用abc\tdefIn[4]:print('ab

系统 2019-09-27 17:53:25 1829