搜索到与相关的文章
编程技术

软件可以这样功能扩展

在所有关于软件维护的故事中,功能的扩展是一个永恒的话题。正因为软件系统需要功能的扩展,需要新功能的加入,才使我们的编程需要那么多的设计。可以说,正是因为新功能的扩展,使得原有的系统质量下降;正是因为软件质量的下降,才使我们需要进行深入的分析与研究,制订设计原则,总结设计模式;正是因为要解决软件质量下降的问题,经过一番艰苦卓绝的摸索过程,我们才认识到系统重构才是解决该问题的最佳方案。然而,事情总是这样的,每个系统当我们进行初次的设计时,设计思路、程序结构总是

系统 2019-08-29 21:59:08 2020

编程技术

大话重构连载17:抽取方法的实践

说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁

系统 2019-08-29 21:59:02 2020

Python

使用python socket分发大文件的实现方法

思路:使用socket传输文件过程中,如果单次传输每次只能发送一部分数据,如果针对大文件,一次传输肯定是不行的,所以需要我们在传输的时候提前把传输内容的大小先发送给客户端,在客户端循环接收数据即可。代码部分:一、服务器#!/usr/bin/envpython#-*-coding:utf-8-*-#environment:2.7importos,json,time,socketsk=socket.socket()ip_port=('127.0.0.1',96

系统 2019-09-27 17:57:21 2019

Python

Python 打败 R 了吗?

随着编程语言的发展,有些语言有很好的发展,有些则面临淘汰,而要数较热门的,其中就有Python。Python作为一种通用脚本语言,后来逐渐成为数据科学中最流行的语言。据IT行业的一些人说,Python的成名是以R语言为踏脚石,R现在是一门垂死的语言。有一些证据表明,Python的流行导致R的使用率越来越低。根据TIOBE统计,Python目前是世界上第三大最受欢迎的语言,仅次于两大热门语言Java和C,从2018年8月到2019年8月,Python的使用率

系统 2019-09-27 17:57:12 2019

Python

8.李航机器学习-AdaBoost梯度提升算法python实现

AdaBoost梯度提升算法项目链接:https://github.com/Wchenguang/gglearn/blob/master/AdaBoost/李航机器学习讲解/AdaBoost.ipynb算法步骤与原理训练mmm个弱学习分类器,分类器有相同的接口Gm(x):X→{x1,x2…}G_{m}(x):\mathcal{X}\rightarrow\{x_{1},x_{2}\dots\}Gm​(x):X→{x1​,x2​…}假设数据有均匀的权值分布,即

系统 2019-09-27 17:56:59 2019

Python

python基础语法

第一个Python程序交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(default,Sep92014,15:04:36)[GCC4.2.1CompatibleAppleLLVM6.0(clang-600.0.39)]ondarwinType“help”,“copyright”,“credits”

系统 2019-09-27 17:56:51 2019

Python

Python 详解基本语法_函数_返回值

Python详解基本语法概要:函数的返回值是函数重要的组成部分。函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作。可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来。函数的返回值在Python的函数中都有一个返回值,默认为None。也可以使用returnvalue语句来定义一个且只能定义一个可为任意类型的返回值。但是我们能够返回一个序列类型的对象,来实现返回多个值的效果。Exa

系统 2019-09-27 17:56:49 2019

Python

python 计算文件夹里所有内容的大小总和

计算文件夹里所有内容的大小总和递归方法'''计算文件夹的大小'''importosdefdir_file_size(path):ifos.path.isdir(path):file_size=0dir_list=os.listdir(path)fordir_nameindir_list:file_path=os.path.join(path,dir_name)ifos.path.isfile(dir_name):file_size+=os.path.get

系统 2019-09-27 17:56:49 2019

Python

Python按行读取大文件

在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。下面给出了三种遍历文件每行的方式

系统 2019-09-27 17:56:36 2019

Python

python中的*args和**kwargs

python支持可变参数:可以使用*args、**kwargs实现*args是可变的positionalarguments列表,是一个tuple。**kwargs是可变的keywordarguments列表,是一个dict。*args必须位于**kwargs之前,因为positionalarguments必须位于keywordarguments之前。*args、**kwargs的使用:函数定义:是一个将参数pack的过程函数调用:将参数unpack例子:d

系统 2019-09-27 17:55:35 2019