在所有关于软件维护的故事中,功能的扩展是一个永恒的话题。正因为软件系统需要功能的扩展,需要新功能的加入,才使我们的编程需要那么多的设计。可以说,正是因为新功能的扩展,使得原有的系统质量下降;正是因为软件质量的下降,才使我们需要进行深入的分析与研究,制订设计原则,总结设计模式;正是因为要解决软件质量下降的问题,经过一番艰苦卓绝的摸索过程,我们才认识到系统重构才是解决该问题的最佳方案。然而,事情总是这样的,每个系统当我们进行初次的设计时,设计思路、程序结构总是
系统 2019-08-29 21:59:08 1873
AndyBudd的样式指南转自:http://www.cnblogs.com/JustinYoung/articles/763052.htmlkeyword:cssMastery,andyBudd,styleGuide,css样式表组织与规划.下载地址:http://files.cnblogs.com/JustinYoung/Styleguide.rar《CSSMastery》作者AndyBudd提供的《StyleGuide》.对web标准中的css组织和
系统 2019-08-12 09:29:31 1873
根据讲师所讲做了一下笔记以便自己能方便学习:------------------------------------------grasp设计模式;grasp(generalresponsibilityassignmentsoftwarepatterns:通用职责分配软件模式)模式相对于gof23模式更加抽象,它的核心思想:职责如何分配和如何用用职责设计对象;它的五个基本模式:---信息专家、创建者、高内聚、低耦合、控制器;四个扩展模式;---多态性、纯虚
系统 2019-08-12 01:33:35 1873
本文以实例形式分析了Python多进程编程技术,有助于进一步Python程序设计技巧。分享给大家供大家参考。具体分析如下:一般来说,由于Python的线程有些限制,例如多线程不能充分利用多核CPU等问题,因此在Python中我们更倾向使用多进程。但在做不阻塞的异步UI等场景,我们也会使用多线程。本篇文章主要探讨Python多进程的问题。Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组
系统 2019-09-27 17:56:51 1872
object类object是python的默认类,有很多的方法,python种默认的list,str,dict等等都是继承了object类的方法继承了object的类属于新式类,没有继承属于经典类在python3种默认都是新式类,也即是所有的自定义类,基类都会继承object类描述在python3.x的所有类都是object的子类所以对于一些内置的方法会写在object类中如果子类不定义,在调用的时候最终会调用object类中的方法就不会让程序出现不必要的
系统 2019-09-27 17:56:43 1872
指路牌《FlaskWeb开发》《FlaskWeb开发基于Python的Web应用开发实战》《FlaskWeb开发》是否适合新手入门PythonWeb开发?正文《FlaskWeb开发基于Python的Web应用开发实战》,O'Reilly"动物书系列"的"狗书",应该是很多Flask初学者被推荐使用的入门书,但是这本书真的适合初学者吗?Python的Web框架非常多,例如Django、Flask、Tornado、Web.py,Tornado没有接触过,无法评
系统 2019-09-27 17:56:19 1872
生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的
系统 2019-09-27 17:56:10 1872
1.新式类与经典类在Python2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性;反之,即不由任意内置类型派生出的类,则称之为“经典类”。“新式类”和“经典类”的区分在Python3之后就已经不存在,在Python3.x之后的版本,因为所有的类都派生自内置类型object(即使没有显示的继承object类型),即所有的类都是“新式类”。官方文档https://www.pytho
系统 2019-09-27 17:55:48 1872
1、表示乘号2、表示倍数,例如:defT(msg,time=1):print((msg+'')*time)T('hi',3)打印结果(打印3次):hihihi3、单个*(1)、如:*parameter是用来接受任意多个参数并将其放在一个元组中。>>>defdemo(*p):print(p)>>>demo(1,2,3)(1,2,3)(2)、函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加*如*(1,2,3)解释器将自动进行解
系统 2019-09-27 17:55:37 1872
一、动机最近打算折腾vn.py,但只有py27版本的,因为一向习惯使用最新稳定版的,所以不得不装py27的环境,不得不说Python的全局锁真的很烦。身为懒癌患者,必然使用全功能的anaconda,但不想同时装py27和py35两个版本的anaconda巨无霸(同时装两个,不知道conda是否也可以管理环境),于是选择用conda装python27的环境及一些必要的包。弄了几天终于把办公电脑和家里的Mac机上的环境都配好了,即使有了官方的安装教材,也踩了不
系统 2019-09-27 17:55:36 1872