一、对工厂设计模式的理解在现实生活中,工厂是用于生产产品的,我们告诉工厂,我们需要什么样的产品,工厂就会生产出该产品,我们无需知道该产品到底是怎么生产的。在python中也是一样的,我们只需要调用工厂类的方法,传入参数后,就能得到我们想要的对象,此时我们并不关心该对象的内部实现。二、工厂设计模式的优点1、工厂模式巨有非常好的封装性,代码结构清晰;2、屏蔽产品类,使产品的被使用业务场景和产品的功能细节可以分而开发进行,是比较典型的解耦框架。三、工厂模式的简单
系统 2019-09-27 17:54:49 2598
Python的装饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟DesignPattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似――都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。但是OO的Decorator简直就是一场恶梦,不信你就去看
系统 2019-09-27 17:52:03 2598
安装好Python3.7后,查看Python版本:1.未进入pythonshell,两种命令:[root@VM_0_8_centos~]#python3-VPython3.7.3[root@VM_0_8_centos~]#python--versionPython2.7.52、直接使用python命令,进入Python环境,会自动显示其版本号。如果需要更详细的版本信息,则可以通过sys模块得到。[root@VM_0_8_centos~]#pythonPyt
系统 2019-09-27 17:51:54 2598
本文python代码实现的是最小二乘法线性拟合,并且包含自己造的轮子与别人造的轮子的结果比较。问题:对直线附近的带有噪声的数据进行线性拟合,最终求出w,b的估计值。最小二乘法基本思想是使得样本方差最小。代码中self_func()函数为自定义拟合函数,skl_func()为调用scikit-learn中线性模块的函数。importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimp
系统 2019-09-27 17:48:53 2598
一、Python函数中的参数1、使用python的函数时,有参数类别,比如位置参数、关键字参数、可变长参数2、位置参数、关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思二、可变长参数1、一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历deflength_param(a,*args):print("a=",
系统 2019-09-27 17:45:33 2598
python学习记录1——常用命令总结with关键字Python中的关键字with详解浅谈Python的with语句structPython使用struct处理二进制(pack和unpack用法)lambda表达式python–lambda表达式@装饰器特点:1参数是一个函数;2返回值是一个函数python装饰器Python函数装饰器装饰器-廖雪峰的官方网站defaultdict方法python中defaultdict方法的使用对dict进行排序pytho
系统 2019-09-27 17:56:11 2597
原文链接:https://www.jianshu.com/p/4fedbc832899python数据可视化:pyecharts发现了一个做数据可视化非常好的库:pyecharts。非常便捷好用,大力推荐!!官方介绍:pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库。用Echarts生成的图可视化效果非常棒,pyecharts是为了与Python进行对接,方便在Python中直接使用数据生成图。中文教
系统 2019-09-27 17:53:40 2597
这篇文章写了很久了,一直没有发布;爬虫学的差不多了,觉得这篇文章对新手实践还是有些作用的。毕竟这也是我刚学爬虫的时候练习的,爬取了比较好爬的网站,也比较经典;多余的解释不说了,代码里每一行都有注释,解释的很清楚;后续有时间的话还会发布一些爬虫文章的;=============================================直接上代码:importrequestsfrombs4importBeautifulSoupfromlxmlimport
系统 2019-09-27 17:52:31 2597
matplotlib图例中文乱码以及坐标负号显示在图片的标签名,标题名或者图例中出现中文时,直接运行会出现乱码,文字显示为框框importmatplotlib.pyplotaspltplt.figure()plt.title("哈哈")plt.show()快速解决办法在导入模块后加入下面代码plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.unicode_minu
系统 2019-09-27 17:52:29 2597
choice()方法从一个列表,元组或字符串返回一个随机项。语法以下是choice()方法的语法:choice(seq)注意:此函数是无法直接访问的,所以我们需要导入random模块,然后我们需要使用random对象来调用这个函数。参数seq--这可能是一个列表,元组或字符串...返回值该方法返回一个随机项。例子下面的例子显示了choice()方法的使用。#!/usr/bin/pythonimportrandomprint"choice([1,2,3,5,
系统 2019-09-27 17:47:37 2597
有个朋友要求帮忙绘制堆叠柱状图,查阅了一些文档之后也算是完成了,只是一个小demo,下面我就记录一下。1.什么是堆叠柱状图与并排显示分类的分组柱状图不同,堆叠柱状图将每个柱子进行分割以显示相同类型下各个数据的大小情况。它可以形象的展示一个大分类包含的每个小分类的数据,以及各个小分类的占比,显示的是单个项目与整体之间的关系。效果图如下:2.数据展示这里展示了部分数据,主要是treatment就是对应的上图分类一,分类二;species就是对应的分组;ra就是
系统 2019-09-27 17:57:06 2596
内置属性和方法方法名类型-作用__init__方法类实例化时自动调用这个函数__del__方法对象被内存中销毁前,会被自动调用__str__方法类的实例打印时调用这个函数(返回)用户看到的__repr__方法和上面的str函数一样,只是这个时返回开发者看到的__getattr__方法当调用不存在的属性时访问这个方法__call__方法如果类实现了这个方法,相当于把这个类型的对象当作函数来使用,相当于重载了括号运算符具体参考Python3标准库生命周期一个对
系统 2019-09-27 17:56:35 2596
前言本人前端不太懂Centos上面的东西,这两天在搞阿里云的Ecs在上面安装Python环境,刚开始直接在官网下载了源码包编译安装了Python3.7.4。但其实部署项目的时候大多会涉及到多项目以及Python的版本、环境不同,所以可以多版本Python+虚拟环境。0.Pyenv安装篇需要先安装依赖:yum-yinstallgitgccmakepatchzlib-develgdbm-developenssl-develsqlite-develbzip2-d
系统 2019-09-27 17:49:38 2596
本文详述了Python的import机制,对于理解Python的运行机制很有帮助!1.标准import:Python中所有加载到内存的模块都放在sys.modules。当import一个模块时首先会在这个列表中查找是否已经加载了此模块,如果加载了则只是将模块的名字加入到正在调用import的模块的Local名字空间中。如果没有加载则从sys.path目录中按照模块名称查找模块文件,模块可以是py、pyc、pyd,找到后将模块载入内存,并加到sys.modu
系统 2019-09-27 17:47:57 2596
下载Anaconda安装包官网下载或是在清华大学镜像站下载,我安装的是下面这个版本:安装过程配置环境将anaconda的scripts文件夹路径添加到环境变量中。如果命令行输入输出如图所示则安装成功:为了避免可能发生的错误,我们在命令行输入condaupgrade--all先把所有工具包进行升级。(也可以不安装升级)打开pycharm,如图点击addlocal点击第三个选项,systeminterpreter,选择python.exe路径,点击ok,就可以
系统 2019-09-27 17:47:33 2596