拥有Python标签的文章
Python

Python generator生成器和yield表达式详解

前言Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不是特别的直观。无论学习任何的东西,概念都是非常重要的。正确树立并掌握一些基础的概念是灵活和合理运用的前提,本文将以一种通俗易懂的方式介绍一下generator和yield表达式。1.Iterator与Iterable首先明白两点:Iterator(迭代器)是可迭代对象;可迭代

系统 2019-09-27 17:48:41 2152

Python

python 文本相似度计算

参考:python文本相似度计算原始语料格式:一个文件,一篇文章。#!/usr/bin/envpython#-*-coding:UTF-8-*-importjiebafromgensimimportcorpora,models,similaritiesimportcodecsdefcut_words(file):withopen(file,'r',encoding="utf-8")asf:text=f.read()words=jieba.lcut(text

系统 2019-09-27 17:48:40 2152

Python

Python中的random()方法的使用介绍

random()方法返回一个随机浮点数r,使得0是小于或等于r以及r小于1。语法以下是random()方法的语法:random()注意:此函数是无法直接访问的,所以我们需要导入random模块,然后我们需要使用random对象来调用这个函数。参数NA返回值此方法返回一个随机浮点数r,使得0是小于或等于r以及r小于1。例子下面的例子显示了random()方法的使用。#!/usr/bin/pythonimportrandom#Firstrandomnumber

系统 2019-09-27 17:47:35 2152

Python

python采集博客中上传的QQ截图文件

哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来

系统 2019-09-27 17:47:21 2152

Python

Python标准异常和异常处理详解

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。1.异常处理:本站Python教程会具体介绍。2.断言(Assertions):本站Python教程会具体介绍。python标准异常异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIterati

系统 2019-09-27 17:47:18 2152

Python

实例详解python函数的对象、函数嵌套、名称空间和作用域

函数的对象python中一切皆对象函数对象的四大功能引用deff1():print('fromf1')f1()#调用函数print(f1)print('*'*50)f=f1#将函数名f1赋值给ff()#f也可以调用函数print(f)fromf1**************************************************fromf1函数名相当于一个变量名,既能接收函数体返回的值,也能赋值。当做参数传给一个函数deff1():prin

系统 2019-09-27 17:46:53 2152

Python

Python深入学习之闭包

闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结

系统 2019-09-27 17:45:47 2152

Python

Python正则表达式之基础篇

正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程:1.1介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十

系统 2019-09-27 17:45:43 2152

Python

Python3实现Web网页图片下载

先来介绍一些pythonweb编程基础知识1.GET与POST区别1)POST是被设计用来向web服务器上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.POST的信息作为HTTP请求的内容,而GET是在HTTP头部传输的;2)POST与GET在HTTP中传送的方式不同,GET的参数是在HTTP的头部传送的,而Post的数据则是在HTTP请求的内

系统 2019-09-27 17:38:29 2152

Python

python 的列表遍历删除实现代码

python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l=[1,2,3,4]foriinl:ifi!=4:l.remove(i)printl这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll=[1,2,3,4]foriinrange(len(l)):ifl[i]==4:dell[i]printl这样没问题,可以遍历删除,但是列表l如果变为l

系统 2019-09-27 17:38:00 2152

Python

如何在Python中编写并发程序

GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL

系统 2019-09-27 17:37:58 2152

Python

谈一谈基于python的面向对象编程基础

活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态

系统 2019-09-27 17:37:56 2152

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 2151

Python

构建python3 docker镜像

在打包镜像时,centos原生镜像中python版本为2.7。如果我们的服务基于python3版本,则需要手动安装。在安装时,有一点需要注意的是:由于系统中某些服务以来python2.7版本,因此不要去删除或修改系统中python的默认版本,否则会产生不可预知的后果。下面给出一个python3镜像打包示例:#baseimageFROMcentos:7.2.1511#installrelatedpackagesandpython3ENVENVIRONMENT

系统 2019-09-27 17:56:38 2151

Python

python访问抓取网页常用命令总结

python访问抓取网页常用命令简单的抓取网页:importurllib.requesturl="http://google.cn/"response=urllib.request.urlopen(url)#返回文件对象page=response.read()直接将URL保存为本地文件:importurllib.requesturl="http://google.cn/"response=urllib.request.urlopen(url)#返回文件对象

系统 2019-09-27 17:56:08 2151