我们都知道,序列可以迭代。但是,你知道为什么吗?本文来探讨一下迭代背后的原理。序列可以迭代的原因:iter函数。解释器需要迭代对象x时,会自动调用iter(x)。内置的iter函数有以下作用:(1)检查对象是否实现了iter方法,如果实现了就调用它,获取一个迭代器。(2)如果没有实现iter方法,但是实现了getitem方法,而且其参数是从零开始的索引,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。(3)如果前面两步都失败,Python
系统 2019-09-27 17:46:04 2298
使用pip安装pipinstallvirtualenv因为已经安装过了,所以显示这样在这里我想在这里推荐大家以后再安装类库时可以用豆瓣源来安装,速度很快,因为在国内访问官方pypi源非常慢,pip安装包经常会出错豆瓣源我来演示下django的安装可以看到速度很快好了回到虚拟环境的安装virtualenvscrapytest(环境名)安装好后输入activate.bat进入虚拟环境后输入python查看当前python版本为2.7退出退出虚拟环境:输入dea
系统 2019-09-27 17:37:40 2298
最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数。但是里面出现了一些问题1、通过json来转换:In[1]:importjsonIn[2]:mes='{"InsId":2,"name":"lege-happy","CreationTime":"2019-04-23T03:18:02Z"}'In[3]:mes_to_dict=json.loads(mes)In[4]:printtype(mes_to_
系统 2019-09-27 17:57:05 2297
时间模块简介Python程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python提供了一个time和calendar模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。#常用方法1.time.sleep(sesc)#(线程)推迟指定的时间运行,单位为秒2.time.time()#获取当前时间戳(开始为1970年1月1日伦敦时间结束为现在)time模块介绍:ti
系统 2019-09-27 17:56:38 2297
这篇文章主要介绍了字符串的分片与索引、字符串的方法。字符串的分片与索引:字符串可以用过string[X]来分片与索引。分片,简言之,就是从字符串总拿出一部分,储存在另一个地方。看下面这个例子,string[0]代表第一个字符,string[-1]为最后一个字符,空格也算一个字符;如果想截取某一段字符时,可以用string[X:X]来表示,其中冒号切记需为英文状态下的,如果从头或是从结尾开始截取,可以直接省略掉开头和结尾的表示。string='IamaPro
系统 2019-09-27 17:55:34 2297
pythonBFS和DFSLeetCodeBFS主要用队列来实现,DFS主要用栈来实现#BFS模版defBFS(graph,start,end):visited,quene=set(),[start]visited.add(start)whilequeue:node=quenue.pop()visited.add(node)process(node)nodes=generate_related_nodes(node)queuq.push(nodes)#DF
系统 2019-09-27 17:55:31 2297
通过python的os模块获取windows或者linux主机名的通用函数。复制代码代码如下:#!/usr/bin/envpython#coding=utf-8importosdefhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.popen('echo$HOSTNAME')try:hostna
系统 2019-09-27 17:54:07 2297
相信有不少朋友日常工作会用到Excel处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现Python对表格的自动化整理。首先我们有这么一份数据表source.csv:我们要做的是从上表中提取数据,来生成一份符合以下要求的表格:按照以下分组名单group.xls来整理数据表中的数据:最终要展现的数据项:其中“K数据/60”为数据表中的“数据K”/60后保留的2位小数我们先看
系统 2019-09-27 17:53:39 2297
上次完成的url爬取项目并不能满足需求,在此完成了一个更为强大的爬取代码,有需要的可以直接运行,根据自己爬取的网站更改部分正则和形参即可。前排提示:运行需要耐心,因为几千个url爬完的话,还是建议花生瓜子可乐电影准备好。下面是代码,代码有注释,很容易理解。注意:爬虫代码每过一段时间就需要更新,因为爬的东西在变,所以可能过一段时间就要更新爬虫。#-*-coding:utf-8-*-"""CreatedonWedSep2914:01:282018@author
系统 2019-09-27 17:52:48 2297
前言最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析。现在我准备尝试着结合Python来模拟GitHub登录。Fiddler抓包分析首先,我们想要模拟一个网站的登录,我们必须要简单了解其大致过程。在这里,我通过Fiddler来抓取GitHub登录的请求,从网页上登录的URL为:https://github.com/login,抓包结果如下:左边的是会话列表,右边的是请求和响应的数据。一般情况下,登录都是用PO
系统 2019-09-27 17:52:33 2297
python是一个很有趣的语言,可以在命令行窗口运行。python中有很多功能强大的模块,这篇经验告诉你,如何使用python的pygal模块绘制反正切函数图像。1.简介pygal是一个SVG图表库。SVG是一种矢量图格式。全称ScalableVectorGraphics--可缩放矢量图形。用浏览器打开svg,可以方便的与之交互。2.pygal安装Windows下pygal的安装比pip还要简单,直接在命令模式执行python-mpipinstall--u
系统 2019-09-27 17:51:22 2297
Python数据科学入门DmitryZinoviev著熊子源译第10章机器学习监督学习尝试从具有标记的训练数据集中推断出预测函数,其中训练数据集中的每一个样本属于哪类都是已知的。(线性回归、逻辑回归、随机决策森林、朴素贝叶斯分类、支持向量机、线性判别分析、神经网络)无监督学习尝试在没有标记的数据中找出隐藏的结构。(K均值、社区检测、分层聚类、主成分分析)第48单元设计预测试验完成模型的建立、评估和验证有一下四个步骤:将输入数据分成训练集和测试集(一般占比为
系统 2019-09-27 17:50:40 2297
实现步骤:1、通过水平投影对图形进行水平分割,获取每一行的图像;2、通过垂直投影对分割的每一行图像进行垂直分割,最终确定每一个字符的坐标位置,分割出每一个字符;先简单介绍一下投影法:分别在水平和垂直方向对预处理(二值化)的图像某一种像素进行统计,对于二值化图像非黑即白,我们通过对其中的白点或者黑点进行统计,根据统计结果就可以判断出每一行的上下边界以及每一列的左右边界,从而实现分割的目的。下面通过Python+opencv来实现该功能首先来实现水平投影:im
系统 2019-09-27 17:48:51 2297
这篇文章主要介绍了Python如何提高元组的可读性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下假设学生系统中数据为固定格式:(名字,年龄,性别,邮箱)('jack','16','male','jack3001@gmail.com')('eric','17','male','eric@qq.com')('xander','16','female','lucy123@yahoo.com')方案一:frome
系统 2019-09-27 17:47:42 2297
定义使用内置的defaultdict我们可以很容易的定义一个树形数据结构deftree():returndefaultdict(tree)example:json风格users=tree()users['harold']['username']='bell'users['handler']['username']='master'我们可以使用print(json.dumps(users))以json的形式输出,于是我们看到{'harold':{'usern
系统 2019-09-27 17:47:35 2297