对代码重用,可读性的一种设计模式。工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。解决问题:修改时关闭,扩展是开发,完全符合开放-封闭原则。工厂方法使一个类的实例化延迟到其子类。一个简单计算器,具有简单的加操作和减操作。结构如下图所示设计模式
系统 2019-08-12 01:32:42 2111
第一周的新鲜感过去后,第二周我就能够以平常心来面对周围的新环境了。除了语言和饮食不同,终究还是软件开发的工作,一定是要遵循软件开发的规律的。在这短短的两周时间内,我谈不上有什么收获,能够让我的能力再上一个台阶。但一些体会还是有的,虽然有些散乱,仿佛思想的片段,如野马,如浮云,若能及时捕捉并加以记录,这些体会就能够潜移默化地改变自己,或许也能改变阅读这篇博客的你。这一周,我打算谈一谈我对能力的体会。作为一名Dev,能力是自己的立身之本,也是养家糊口的必须技能
系统 2019-08-12 01:32:42 2111
MD5消息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。MD5由美国密码学家罗纳德・李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。概述MD5校验码通过散列函数计算而成,可以生成任何数据的数据“指纹”,即我们可以利用MD5将消息或者数据压缩成摘要,是的数据量变小,便于比较
系统 2019-09-27 17:54:09 2110
介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"magic"的特殊方法。他们总是被双下划线所包围(e.g.__init__或者__lt__)。然而他们的文档却远没有提供应该有的内容。Python中所有的魔术方法均在Python官方文档中有相应描述,但是对于他们的描述比较混乱而且组织比较松散。很难找到有一个例子(也许他们原本打算的很好,在开始语言参考中有描述很详细,然而随之而来
系统 2019-09-27 17:52:15 2110
Python非常易学,强大的编程语言。Python包括高效高级的数据结构,提供简单且高效的面向对象编程。Python的学习过程少不了IDE或者代码编辑器,或者集成的开发编辑器(IDE)。这些Python开发工具帮助开发者加快使用Python开发的速度,提高效率。高效的代码编辑器或者IDE应该会提供插件,工具等能帮助开发者高效开发的特性。1.VimVim可以说是Python最好的IDE。Vim是高级文本编辑器,旨在提供实际的Unix编辑器‘Vi'功能,支持更
系统 2019-09-27 17:50:38 2110
现在的职场竞争越来越激烈,不学上一两门新技能,保持自己知识更新,很容易被年轻后辈超越。有些人选择学一门外语,有些人选择学习职场上为人处事的能力。如果你的工作需要和数据打交道,相信我,Python一定能成为你升职加薪的敲门砖。为什么?因为高效。我们来看一份年薪24w-48w的高级数据分析师的招聘信息,以下4点能力是用人单位较为看重的:再仔细梳理,你会发现即便不是数据分析师,具备这4项能力都能在职场中为自己加分。试想一下,一场电商大促结束复盘,别人花大把时间梳
系统 2019-09-27 17:50:26 2110
open()方法Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。open()函数常用形式是接收两个参数:文件名(file)和模式(mode)。open(file,mode='r')完整的语法格式为:open(file,mode='r',buffering=-1,encoding=No
系统 2019-09-27 17:49:12 2110
考虑到我手上的服务器逐渐的增多,有时候需要大规模的部署同一个文件,例如因为方便使用systemtap这个工具定位问题,需要把手上几百台服务器同时安装kernel-debuginfo这个包,原有的方式采用一个源服务器,采用rsync或者scp之类的文件传输方式只能做到一个点往下分发这个文件,这个时候下发的速度就会比较的慢,基于以上原因,我写了一个基于bt协议传输文件的小工具,实际测试,传输到10个机房,70多台机器传输一个240M的这个内核文件,到所有的机器
系统 2019-09-27 17:48:31 2110
在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子:复制代码代码如下:#!encoding=UTF-8classA:def__init__(self):#定义私有属性self.__name="wangwu"#普通属性定义self.age=19a=A()#正常输出printa.age#提示找不到属性printa.__name执行输出:复制代码代码如下:Traceback(mostrecentcalllast):File"C:\Use
系统 2019-09-27 17:47:46 2110
今天是2019.9.11号22:51分这是我自学Python的第二天,也是我写博客的第二天,还是不知道怎样写博客的第二天,有点懵今天学Python还是一样的懵,错误还是有很多,而且脑中也不够灵活,逻辑能力还是有待提高,还得继续加油,为了以后能成为一名IT大佬,我得坚持再坚持,努力再努力,加油吧!骚年!!!!!结果是由过程决定的,相信我努力的过程会有回报的.我能行的,我相信自己下面是我的知识总结和错误总结======我======是======一======
系统 2019-09-27 17:46:05 2110