拥有Python标签的文章
Python

python 数据描述符的使用(附带装饰器)

什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一

系统 2019-09-27 17:47:51 2159

Python

对python中基于tcp协议的通信(数据传输)实例讲解

阅读目录tcp协议:流式协议(以数据流的形式通信传输)、安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信)tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层、数据链路层、物理层。可以说很多安全数据的传输通信都是基于tcp协议进行的。为了让tcp通信更加方便需要引入一个socket模块(将网络层、数据链路层、物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作。简单的tcp协议通信模板:(需

系统 2019-09-27 17:47:19 2159

Python

集成学习②——Adaboost算法原理及python实现

一、AdaBoost算法原理上一偏博客总结过,集成学习基于弱学习器之间是否依赖分为Boosting和Bagging两类,Adaboost就是Boosting中的典型代表。其核心思想是针对同一个训练集训练不同的学习器,然后将这些弱学习器集合起来,构造一个更强的最终学习算法AdaBoost是英文"AdaptiveBoosting"(自适应增强)的缩写,它的自适应在于:基于每一个分类器的误差率,来更新所有样本的权重,前一个分类器被错误分类的样本的权值会增大,而正

系统 2019-09-27 17:46:50 2159

Python

python生成器和列表解析

什么是生成器?可以理解为一种数据类型,这种数据自动实现了迭代器协议(其他数据类型需要调用自己内置的_iter_方法),所以生成器就是可迭代对象python提供生成器的两种表现形式:1.生成器函数:常规函数的定义,但是,使用yield语句而不是return语句返回结果。yield语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次从它离开的地方继续执行。**函数里有yiled,执行函数就是一个生成器,不管yield位置在哪。采集函数创建生成器时,如

系统 2019-09-27 17:46:40 2159

Python

Python3 日期和时间

1、什么是时间元组?获取当前时间从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。importtimelocaltime=time.localtime(time.time())print("本地时间为:",localtime)以上实例输出结果:本地时间为:time.struct_time(tm_year=2016,tm_mon=4,tm_mday=7,tm_hour=10,tm_min=28,tm_sec=49,tm

系统 2019-09-27 17:46:33 2159

Python

Python学习笔记之爬虫 汇总篇(更新中)

[TOC]Python网络爬虫之规则01Python爬虫之Requests库入门02Python爬虫之盗亦有道03Python爬虫之Requests网络爬取实战Python网络爬虫之提取04Python爬虫之BeautifulSoup库05Python爬虫之信息标记与提取方法06Python爬虫之Re(正则表达式)库

系统 2019-09-27 17:46:30 2159

Python

Python利用pyHook实现监听用户鼠标与键盘事件

本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获取到用户输入的任何信息;但是如果安装了杀毒软件,就够呛了。具体实现方法如下:一、代码部分:获取用户输入信息,并与截图一起保存到XX目录下#-*-coding:utf-8-*-#importpythoncomimportpyHookimporttimeimportsocketfromPILimportImageGrab#

系统 2019-09-27 17:46:23 2159

Python

Python中if __name__ == '__main__'作用解析

当你打开一个.py文件时,经常会在代码的最下面看到if__name__=='__main__':,现在就来介绍一下它的作用.模块是对象,并且所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于您如何应用模块。如果import一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下,__name__的值将是一个特别缺省"__main__"。//////

系统 2019-09-27 17:45:26 2159

Python

浅谈python为什么不需要三目运算符和switch

对于三目运算符(ternaryoperator),python可以用conditionalexpressions来替代如对于x<5?1:0可以用下面的方式来实现1ifx<5else0注:conditionalexpressions是在python2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本对于2.5之前的版本,可以用下面这种形式X<5and1or0对于switch,我们完全可以用dictionary来实现,看下面的例子>>>defswitch

系统 2019-09-27 17:38:18 2159

Python

Python提取网页中超链接的方法

下面是最简单的实现方法,先将目标网页抓回来,然后通过正则匹配a标签中的href属性来获得超链接代码如下:importurllib2importreurl='http://www.sunbloger.com/'req=urllib2.Request(url)con=urllib2.urlopen(req)doc=con.read()con.close()links=re.findall(r'href\=\"(http\:\/\/[a-zA-Z0-9\.\/]

系统 2019-09-27 17:38:07 2159

Python

详解在Python程序中解析并修改XML内容的方法

需求在实际应用中,需要对xml配置文件进行实时修改,1.增加、删除某些节点2.增加,删除,修改某个节点下的某些属性3.增加,删除,修改某些节点的文本使用xml文档实现思想使用ElementTree,先将文件读入,解析成树,之后,根据路径,可以定位到树的每个节点,再对节点进行修改,最后直接将其输出实现代码#!/usr/bin/python#-*-coding=utf-8-*-#author:wklken@yeah.net#date:2012-05-25#ve

系统 2019-09-27 17:37:47 2159

Python

解决Python内层for循环如何break出外层的循环的问题

偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环In[31]:foriinrange(1,5):...:forjinrange(5,10):...:print(i,j)...:ifj==6:...:break...:else:...:continue...:break1516for…else…的运行逻辑是当for循环正常执行结束就会运行其else语句,如果中途break的话,就不会执行else中的内容上面的代码实现了内存f

系统 2019-09-27 17:57:18 2158

Python

python多线程分块读取文件

本文实例为大家分享了python多线程分块读取文件的具体代码,供大家参考,具体内容如下#_*_coding:utf-8_*_importtime,threading,ConfigParser'''Reader类,继承threading.Thread@__init__方法初始化@run方法实现了读文件的操作'''classReader(threading.Thread):def__init__(self,file_name,start_pos,end_pos

系统 2019-09-27 17:57:14 2158

Python

2019最新Python爬虫高频率面试题总结(一)

今天给大家出一个关于Python爬虫面试题的总结,相对于来说出现频率比较高的一些!1.为什么requests请求需要带上header?原因是:模拟浏览器,欺骗服务器,获取和浏览器一致的内容header的形式:字典headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.99Safari/537.

系统 2019-09-27 17:56:15 2158

Python

详解Python self 参数

1、概述1.1场景我们在使用Python中的方法method时,经常会看到参数中带有self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?2、知识点2.1成员函数(m)和普通方法(f)Python中的"类方法"必须有一个额外的第一个参数名称(名称任意,不过推荐self),而"普通方法"则不需要。m、f、c都是代码自动提示时的左边字母(method、function、class)#-*-coding:utf-8-*-classTest(obj

系统 2019-09-27 17:56:05 2158