在python中内嵌函数可以引用外层函数作用域中的变量,并且可以通过某种操作来对其进行修改。这里我们就可以使用到nonlocal语句来进行声名。我之前写过一篇global用法的文章,nonlocal的用法与global的用法很像,本篇博客的后面就会讲一下nonlocal和global的区别。nonlocal语句的用法语法:允许内嵌函数修改定义在语法上位于外层的函数的作用域中的一个或者多个名称用法:nonlocal[变量名]注意:此语句仅适用于python3
系统 2019-09-27 17:50:55 1948
Mock是什么Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西。准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。简单的说,mock库用于如下的场景:假设你开发的项目叫a,里面包含了一个模块b,模块b中的一个函数c(也就是a.b.c)在工作的时候需要调用发送请求给特定的服务器来得到一个JSON返回值,然后根据这个返回值来做处理
系统 2019-09-27 17:50:41 1948
分类什么是分类–分类模型:输入样本的属性值,输出对应的类别,将每个样本映射到预先定义好的类别常用分类算法–Knn算法–决策树–贝叶斯分类器–支持向量机–神经网络5种算法!!分类:分为娱乐新闻、民生新闻、识别到各个类别之间的差距,对于新给的一个新闻,根据历史信息预测到它的类别有监督的学习:类别是已经确定的根据训练集数据模型的创建、模型的使用类别是给定的距离马氏距离与欧氏距离最近邻算法Knn算法主要思想:1选取k个和待分类点距离最近的样本点2看1中的样
系统 2019-09-27 17:50:33 1948
logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了pyth
系统 2019-09-27 17:50:05 1948
1.冒泡排序1.1算法思想冒泡排序是一种简单的排序算法。通过重复地遍历要排序的数列,一次比较两个元素,从最开始的一对到最后的一对(相当于一个长度为2的滑动窗口),如果它们的顺序错误(看从小到达排列还是从大到小排列)就把它们交换过来。如果是升序排列的话,每次遍历都会把最大值交换到最右边。然后重复这个过程,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,就像冒泡一样。这个算法不需要额外的空间,
系统 2019-09-27 17:49:46 1948
目录0引言1环境2需求分析3代码实现4代码全景展示5后记0引言所谓的像素图,就是对图像做一个颗粒化的效果,使其产生一种妙不可言的朦胧感。费话不多说,先来看一张效果图。▲效果图▲原图怎么样,效果还不错吧?现在,我们用Python来实现这种像素化的效果。1环境操作系统:WindowsPython版本:3.7.32需求分析一个最简单的实现思路,在打开图片后,把图片分割成一些像素块,再对这些像素块中的图像信息进行处理(修改图像中的RGB值)即可。这里我们使用Num
系统 2019-09-27 17:47:25 1948
本地电脑具有Scrapy爬虫环境,但是想让爬虫一直工作,还是要把代码扔到服务器上,所以在linux服务器上安装Scrapy环境。linux服务器原python2.7经过一番操作,升级到python3.6参考https://www.cnblogs.com/kimyeee/p/7250560.html我只是到makeinstall为止然后安装Scrapy,遇到问题1:'error:gcc'failedwithexitstatus1'参考https://blog
系统 2019-09-27 17:46:10 1948
我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。回忆一下位置传递:复制代码代码如下:deff(a,b,c):returna+b+cprint(f(1,2,3))在调用f时,1,2,3根据位置分别传递给了a,b,c。关键字传递有些情况下,用位置传递会感觉比较死板。关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。依然沿用上面f的定义
系统 2019-09-27 17:45:51 1948
一、持久化--shelve持久化工具(1)作用:类似字典,用kv对保存数据,存取方式类似于字典(2)例子:通过一下案例创建了一个数据库,第二个程序我们读取了数据库#使用shelve创建文件并使用importshelveshv=shelve.open(r"shv.db")shv["one"]=1shv["two"]=2shv.close()shv=shelve.open(r"shv.db")try:print(shv["one"])print(shv["th
系统 2019-09-27 17:45:48 1948
一、选题在《实践:数据结构与算法实践》中选择了“超级马里奥第一关”为最后作业的题目。超级马里奥是红白机上的横版过关类游戏。功能特性在于在实现人物移动的同时,要使背景的地图也要进行移动,还有砖块、怪物等其他要素也要进行移动,因为只有让两者一起进行移动,才能让人物和地图和其他的要素保持相对的位置。后期又加入了音效和美化了一下界面。点击此处下载文档和源码
系统 2019-09-27 17:45:43 1948