搜索到与相关的文章
Python

Python函数式编程指南(四):生成器详解

4.生成器(generator)4.1.生成器简介首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中。另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简单不少,所以生成器也是最常用到的特性之一。从Python2.5开始,[PEP342:通过增强生成器实现协同程序]的实现为生成器加入了更多的特性,这意味着生成器还可以完成更多的工作。这部分我们会在稍后的

系统 2019-09-27 17:45:28 2477

Python

Python合并字符串的3种方法

目的将一些小的字符串合并成一个大字符串,更多考虑的是性能方法常见的方法有以下几种:1.使用+=操作符复制代码代码如下:BigString=small1+small2+small3+...+smalln例如有一个片段pieces=['Today','is','really','a','good','day'],我们希望把它联起来复制代码代码如下:BigString=''foreinpieces:BigString+=e+''或者用复制代码代码如下:impor

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

Python

Python3 replace()函数使用方法

描述replace()方法把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过max次。语法replace()方法语法:str.replace(old,new[,max])参数old--将被替换的子字符串。new--新字符串,用于替换old子字符串。max--可选字符串,替换不超过max次返回值返回字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过max次。

系统 2019-09-27 17:37:46 2477

编程技术

闲话Command模式的异常处理

Command模式是GOF中较为简单的,用来封装行为的一个模式。在我们初涉设计模式的领域前,我们可能就在不知不觉中使用了它。比如说JAVA多线程中的Ruuable接口,比如说swing编程中用于处理事件的action,这些通通都是Command模式的使用。跟很多行为型模式一样,command模式用于降低接收者和发送者的耦合,我们经常可以在一些开源框架中看到,command实例对象常在层与层之间进行传递,接收者对于接收到的command,根本不知道其所能处理

系统 2019-08-29 23:06:55 2477

编程技术

组件设计原则之概念篇(一)

在RobertC.Martin(Bob大叔)的《敏捷软件开发:原则、模式与实践》(AgileSoftwareDevelopment:Principles,Patterns,andPractices)一书中,他提出了一些用于设计组件(或包)的原则。传统的面向对象设计原则,例如SOLID、CARP、LoD等主要关注类的设计,而下面要介绍的这些原则主要用于设计组件和包的结构,一共包括六个原则:前面三个关注组件的内聚性(Cohesion),用于指导我们如何将类组包

系统 2019-08-29 23:04:26 2477

编程技术

使用分层窗口及透明png图片实现一个异形窗口

搞Windows程序的人尽皆知分层窗口能够实现很多不错的效果,之前看过一些异形窗口的实现,所以就手痒也想自己搞一个玩一玩。自己动手实现过程才发现还是有不少问题的。基本思路是:1.将窗口扩展属性设置为分层属性WS_EX_LAYERED。2.选一张透明的png图片,并将其加载进来。3.创建与窗口兼容的内存设备上下文,以及兼容位图,将兼容位图选入兼容设备上下文。4.将png图片绘制到内存设备上下文中。5.设置BLENDFUNCTION结构,调用UpdateLay

系统 2019-08-29 22:19:50 2477

编程技术

【查找结构4】红黑树 [RBT]

大部分转载:http://yanglongylj.blog.163.com/blog/static/563834532009113021438417/红黑树的性质与定义红黑树(red-blacktree)是一棵满足下述性质的二叉查找树:1.每一个结点要么是红色,要么是黑色。2.根结点是黑色的。3.所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,所有查询关键字都在非终结点上。4.每个红色结点的两个子节点必须是

系统 2019-08-29 21:59:54 2477

编程技术

Swing 边框(一)

Swing组件提供了对组件周围的边框区域进行定制的功能。为了简单,我们可以使用预定义的八个边框,或者是我们可以创建自己的边框。在本章中,我们将会了解如何最好的使用已存在边框以及如何创建我们自己的边框。7.1SomeBasicsonWoringwithBorders边框是带有标准的setBorder()与getBorder()属性方法的JComponent属性。所以,所有的JComponent子类的Swing组件都具有边框。默认情况下,一个组件并没有与其相关

系统 2019-08-12 09:30:20 2477

编程技术

我的开发经验分享(一)-Spring业务bean零配置

注:在JavaEye注册不久,前些天这篇文章发布在了blog首页,似乎大家都在论坛活动多,因此转移到论坛这边分享关键字:spring动态bean管理零配置1.Spring业务bean配置的困扰利用SpringIoC容器进行项目开发的一个重要工作就是在applicationContext.xml中进行bean管理。然而,业务bean(BO或Service),DAObean的配置量随项目的功能规模增长而增长,对于大型项目而言,庞大的bean配置文件维护起来极为

系统 2019-08-12 09:30:18 2477

各行各业

thrift文件编写

1.thrift的数据类型。(这里主要为翻译官方文档)a.基本数据类型1)boolean型,值为true或false2)byte型,值为单字节字母3)i16型,值长度为16位的integer带符号数字.4)i32型,值长度为32位的integer带符号数字.5)i64型,值长度为64位的integer带符号数字.6)double型,值长度为64的浮点数.7)string型,字符串或者binary数据。b.结构体有点类似c的结构体。不怎么懂c的同学可以理解为

系统 2019-08-12 09:27:27 2477