在python中内嵌函数可以引用外层函数作用域中的变量,并且可以通过某种操作来对其进行修改。这里我们就可以使用到nonlocal语句来进行声名。我之前写过一篇global用法的文章,nonlocal的用法与global的用法很像,本篇博客的后面就会讲一下nonlocal和global的区别。nonlocal语句的用法语法:允许内嵌函数修改定义在语法上位于外层的函数的作用域中的一个或者多个名称用法:nonlocal[变量名]注意:此语句仅适用于python3
系统 2019-09-27 17:50:55 2126
最近这段时间,常常有人在后台留言:该不该学Python?如何学Python?鉴于大家都有这方面的困惑,今天就给大家推荐一本巨有影响力的Python实战书,上线时间仅2个月,就超越了众多实力派,成京东和当当网上的长期畅销图书,并且收获了3.4W的五星好评。这本书可谓是笔者独家私藏图书之一了,对我学习Python有着莫大的帮助,在京东上也常常"断货",这次拿出来给大家分享一下,希望能帮到大家。PS:文末还将赠送5门课程!这本“断货神作”究竟好在哪?“测评”来了
系统 2019-09-27 17:50:38 2126
Python访问字符串中的值name="huanfengdebianchengriji"print("首字母大写",name.capitalize())print("i的个数",name.count("i"))print("输出name50个如果长度不够,两边补-居中输出",name.center(50,"-"))print("输出name50个如果长度不够,右边补",name.ljust(50,"-"))print("输出name50个如果长度不够,左边
系统 2019-09-27 17:50:36 2126
一.概述首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性质以及规律。通俗得说,就是根据数据的一些内在性质,找出其内在的规律。而这一类算法,应用最为广泛的就是“聚类”。聚类算法可以对数据进行数据归约,即在尽可能保证数据完整的前提下,减少数据的量级,以便后续处理。也可以对聚类数据结果直接应用或分析。而Kmeans算法可以说是聚类算法里面较为基础的一种算法。二.从样例开始我们现在在
系统 2019-09-27 17:50:00 2126
引用是指保存的值为对象的地址。在Python语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些。下面举个例子:问题描述:已知一个列表,求生成一个新的列表,列表元素是原列表的复制复制代码代码如下:a=[1,2]b=a这种做法其实并未真正生成一个新的列表,b指向的仍然是a所指向的对象。这样,如果对a或b的元素进行修改,a,b的值同时发生变化。解决的方法为:复制代码代码如下:a=[1,2]b=a[:]这样修改a对b没
系统 2019-09-27 17:49:48 2126
从一篇文章中看到,PIL1.1.5已经内置了高斯模糊,但是并没有在文档中提及,而且PIL的高斯模糊中radius是硬编码,虽然构造方法中有传入radius参数,但压根就没有用到(看这里),所以需要自己进行改造,当然,知道了原因,修改起来自然非常简单了。结合帖子中的需求,对局部进行高斯模糊,所以还需要结合使用crop和paste方法实现局部使用滤镜。代码如下:#-*-coding:utf-8-*-fromPILimportImage,ImageFilterc
系统 2019-09-27 17:48:09 2126
目录一、守护线程1.1详细解释1.2守护线程例11.3守护线程例2一、守护线程无论是进程还是线程,都遵循:守护xx会等待主xx运行完毕后被销毁。需要强调的是:运行完毕并非终止运行。对主进程来说,运行完毕指的是主进程代码运行完毕对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕1.1详细解释主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收),然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(
系统 2019-09-27 17:47:07 2126
概述在我们使用内置打印函数print时,打印出的Python数据结构对象总是一行的输出的方式,这样对数据结构较复杂或数据较多的对象的显示并不美观,这时我们可以利用pprint输出美化数据结构对象。pprint方法概览美化输出我们可以利用pprint中的PrettyPrinter控制输出的打印时的缩进,行宽、甚至打印深度等,定义类如下classpprint.PrettyPrinter(indent=1,width=80,depth=None,stream=N
系统 2019-09-27 17:45:58 2126
python中字典可以一键多值,也就是意味着一个键可以对应多个值。例:#encoding=utf-8print'中国'#字典的一键多值print'方案一list作为dict的值值允许重复'd1={}key=1value=2d1.setdefault(key,[]).append(value)value=2d1.setdefault(key,[]).append(value)printd1#获取值print'方案一获取值'printlist(d1[key])
系统 2019-09-27 17:38:14 2126
近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录1.在正常情况下..可以用importchardetthischarset=chardet.detect(strs)["encoding"]来获取该文件或页面的编码方式或直接抓取页面的charset=xxxx来获取2.遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理.st
系统 2019-09-27 17:38:01 2126