- 军军小站|张军博客
搜索到与相关的文章
Python

深入理解python函数递归和生成器

一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:deffact(

系统 2019-09-27 17:38:31 1804

Python

Python读大数据txt

如果直接对大文件对象调用read()方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。代码如下:defopen_txt(file_name):withope

系统 2019-09-27 17:38:24 1804

Python

python连接mysql实例分享

示例一#coding=UTF-8importsysimportMySQLdbimporttimereload(sys)sys.setdefaultencoding('utf-8')defconnectDemo():returnMySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")if__name__=='__main__':begin=time.time()conn=

系统 2019-09-27 17:37:59 1804

Python

Python数据库的连接实现方法与注意事项

在Python中要连接数据库,首先我们得先安装几个重要的东西,主要有:(1)Python-dev包(2)setuptools-0.6c11.tar.gz(3)MySQL-python-1.2.3.tar.gz下面分别来说说这三个主要的包的安装步骤:(1)Python-dev包直接yuminstallpython-devel(2)setuptools-0.6c11.tar.gz在网上下载后,先解压:tarzxfsetuptools-0.6c11.tar.gz

系统 2019-09-27 17:37:55 1804

Python

Python 性能优化技巧总结

1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟踪cpython的扩展;2.用C来解决费时的处理,c是效率的代名词,也是python用来解决效率问题的主要途径,甚至有时候我都觉得python是c的完美搭档。常用的是Cython,直接把py代码c化然后又能像使用py包一样使用,其次是ctypes,效

系统 2019-09-27 17:37:43 1804

Python

Python构造函数及解构函数介绍

python有一个相应的特殊解构器(destructor)方法名为__del__()。然而,由于python具有垃圾对象回收机制(靠引用计数),这个函数要直到该实例对象所有的引用都被清除掉后才会被执行。python中的解构器是在实例释放前提供特殊处理功能方法,它们通常没有被实现,因为实例很少被显式释放。在下面的例子中,我们分别创建(并覆盖)__init__()和__del__()构造器及解构函数,然后,初始化类并给同样的对象很多别名。id()内建函数可用来

系统 2019-09-27 17:37:40 1804

编程技术

Google AJAX Search API+TAG=美味的站点

前言del.icio.us提供了多种可重用的数据格式。而它提供了通用API访问和类似PHP的输出格式,使这些数据也可以被JavaScript开发者将其作为JSON格式所使用。GoogleAJAXSearchAPI提供一些简单的web对象:它们执行建立在各种Google服务(页面搜索、本地搜索、视频搜索、Blog搜索、新闻搜索)之上的内嵌(inline)搜索。如何把这两项技术结合在一起呢?GoogleAJAXSearchAPI+TAG=美味的站点?什么是Go

系统 2019-08-29 23:51:20 1804

编程技术

如何创建ADF Application Module 使用的JNDI数

ADF应用通常部署在Weblogic中,本文介绍如何在Weblogic中创建JDNI数据源,并将该数据源提供给ADF应用中的AM使用。1,在AM中,ConnectionType选择JDBCDataSource,输入自定义的DatasourceName2,启动Weblogic服务器,在主页中选择JDBC->数据源->新建数据源名称任意,JNDI名称需要跟AM中的DatasourceName保持一致。3,下一步,数据库驱动一般选择下图的选项:4,下一步,信息默

系统 2019-08-29 23:33:04 1804

编程技术

一次失败的网购:在兰蔻官网订购的货不对版

这是上个月的事情,说上当受骗有点过分,但是货不对版倒是恰如其分。我写在开心上群上,移到这里,因为开心的兰蔻群不值得信任,将其锁住了,不过也是正常的。我要承认,在群上写了之后,联系了我,看看如何解决问题,要我将小样寄回去(有些是套装的标明样品,我的理解不属于免费赠送),但是大概一个月时间才能发给我(说缺货)。网购就是图个方便,我还要去找快递,太麻烦了。我也常在网上购物,也比较小心,没想到兰蔻不是烂不烂的问题,因为产品还是不错,我也担心假货,问题是否给你所要货

系统 2019-08-29 22:54:49 1804

编程技术

NetBPM工作流示例

请假流程描述流程图:假设:公司有两级领导,一级为主管(Chief),一级为老板(Boss),我们这里只是一个模拟,当然现实生活中情况比这个更加复杂;-)描述:在某公司中,部门员工休假需要主管(Chief)的批准。如果休假天数大于10天,则在部门主管同意后,还必须老板(Boss)批准。如果是部门主管请假则直接提交老板批准。在休假被批准之前,申请人可以撤销休假申请。申请批准后,对休假天数进行修改(也可以是其他业务数据处理)。每次休假申请结束之后,不管通过未通过

系统 2019-08-29 22:51:48 1804