一、python常用的函数input函数如x=input(“请输入一个数”)会将用户输入的值强制转换为字符串类型的数据,然后自动赋给xprint函数如print(“123”),结果为123print()函数能打印字符串,元组,列表等,整数,浮点数等type函数type(x)用于判断x的类型id函数id(x)将返回x的地址del命令delx将删除x这个对象eval(x)将字符串x强制转换为数字类型split()拆分字符串。通过指定分隔符对字符串进行切片,并返
系统 2019-09-27 17:54:12 2377
在循环对象和函数对象中,我们了解了循环器(iterator)的功能。循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法(__next__()方法,在Python3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。在foriiniterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等容器变为循环器。比如:复制代码代码如下:f
系统 2019-09-27 17:53:54 2377
一、BeautifulSoup简介网络数据挖掘指的是从网站中获取数据的过程,数据挖掘技术可以让我们从网站世界中收集大量有价值的数据。BeautifulSoup是一个Python库,可以从HTML或XML文件中获取数据,利用它你可以做很多事情,比如你可以持续解析某个商品的最新价格,以便跟踪价格的波动情况。二、BeautifulSoup安装安装BeautifulSouppip3installbeautifulsoup4检验是否安装成功frombs4import
系统 2019-09-27 17:53:33 2377
python多线程深入理解低级接口基本使用EventSemaphore线程通信高级接口低级接口基本使用join()方法用来阻塞主线程。可以注释掉、看看打印顺序。importthreadingimporttimedeftest(n):time.sleep(1)print(n)t=threading.Thread(target=test,args=(7,))t.start()t.join()#等待子线程执行完毕,才继续执行主线程。print('主线程执行完毕'
系统 2019-09-27 17:53:20 2377
从本地文件夹中选取一张图片并在canvas上显示fromtkinterimport*fromtkinterimportfiledialogfromPILimportImage,ImageTkif__name__=="__main__":root=Tk()#settingupatkintercanvaswithscrollbarsframe=Frame(root,bd=2,relief=SUNKEN)frame.grid_rowconfigure(0,wei
系统 2019-09-27 17:52:27 2377
常见的反爬机制及处理方式1、Headers反爬虫:Cookie、Referer、User-Agent解决方案:通过F12获取headers,传给requests.get()方法2、IP限制:网站根据IP地址访问频率进行反爬,短时间内进制IP访问解决方案:1、构造自己IP代理池,每次访问随机选择代理,经常更新代理池2、购买开放代理或私密代理IP3、降低爬取的速度3、User-Agent限制:类似于IP限制解决方案:构造自己的User-Agent池,每次访问随
系统 2019-09-27 17:51:32 2377
图像的阈值处理一般使得图像的像素值更单一、图像更简单。阈值可以分为全局性质的阈值,也可以分为局部性质的阈值,可以是单阈值的也可以是多阈值的。当然阈值越多是越复杂的。下面将介绍opencv下的三种阈值方法。(一)简单阈值简单阈值当然是最简单,选取一个全局阈值,然后就把整幅图像分成了非黑即白的二值图像了。函数为cv2.threshold()这个函数有四个参数,第一个原图像,第二个进行分类的阈值,第三个是高于(低于)阈值时赋予的新值,第四个是一个方法选择参数,常
系统 2019-09-27 17:51:13 2377
首先是数据源:#需要求加权平均值的数据列表elements=[]#对应的权值列表weights=[]使用numpy直接求:importnumpyasnpnp.average(elements,weights=weights)附纯python写法:#不使用numpy写法1round(sum([elements[i]*weights[i]foriinrange(n)])/sum(weights),1)#不使用numpy写法2round(sum([j[0]*j[
系统 2019-09-27 17:50:32 2377
目录1、常见并发类型2、同步版本3、多线程4、异步IO5、多进程6、总结1、常见并发类型I/O密集型:蓝色框表示程序执行工作的时间,红色框表示等待I/O操作完成的时间。此图没有按比例显示,因为internet上的请求可能比CPU指令要多花费几个数量级的时间,所以你的程序可能会花费大部分时间进行等待。CPU密集型:IO密集型程序将时间花在cpu计算上。常见并发类型以及区别:2、同步版本我们将使用requests访问100个网页,使用同步的方式,request
系统 2019-09-27 17:50:10 2377
这节主要介绍time,random模块;不用死记。首先说一下什么是模块。。。importtime有些朋友,开始比迷惑的,但是后面聊到类(属性,方法),包会好一点,我们这里没这么快说到,慢慢来,但是为了方便你记忆。。。最及简单的是.....你知道x.py是你写的python脚本;如果你在同一个目录下定义了另外一个time.py。你importtime就直接调用了(这也是,我们需要注意的,定义x.py时候名字不要跟自带的模块名字,第3方模块一样的名字,除非你自
系统 2019-09-27 17:50:00 2377
while循环Python中while语句的一般形式while判断条件:语句while有限循环n=100sum=0counter=1whilecounter<=n:sum=sum+countercounter+=1print("1到%d之和为:%d"%(n,sum))while无限循环我们可以通过设置条件表达式永远不为false来实现无限循环,实例如下:var=1whilevar==1:#表达式永远为truenum=int(input("输入一个数字:")
系统 2019-09-27 17:49:30 2377
目录一、multiprocess模块二、multiprocess.process模块三、process模块介绍3.1方法介绍3.2属性介绍3.3在windows中使用process模块的注意事项四、使用process模块创建进程4.1在Python中启动的第一个子进程4.2join方法4.3查看主进程和子进程的进程号4.4多个进程同时运行4.5多个进程同时运行,再谈join方法(1)4.6多个进程同时运行,再谈join方法(2)4.7通过继承Process
系统 2019-09-27 17:49:09 2377
核心代码:#!/usr/bin/envpython#-*-coding:utf-8-*-frombisectimportbisect_LIST1,_LIST2=[],[]_INIT=Falseip2int=lambdaip_str:reduce(lambdaa,b:(a<<8)+b,[int(i)foriinip_str.split('.')])def_init():global_LIST,_INITifnot_INIT:forlinopen('ipdat
系统 2019-09-27 17:48:36 2377
前言使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下python中实现单例模式的几种常见方式和原理。一方面可以加深对python的理解,另一方面可以更加深入的了解该模式,以便实际工作中能更加灵活的使用单例设计模式。本文将介绍常见的实现单例模式的几种方式,这里暂不考虑多线程的情况。为了准备该篇博文,之前写了几篇相关的文章依次完整的介绍了相关的概念,下面会在需要的时候给出链接。装
系统 2019-09-27 17:48:26 2377
离线批量下载,首先可以使用:pipfreeze>requirements.txt可以将其中的==改成>=,批量修改即可使用命令,把下载的库放入dependency文件夹下:中途可能因为网络原因下载失败,再次执行该命令即可,已经下载好的包不会重复下载pipdownload-ddependency-rrequirements.txt批量离线安装:pipinstall--no-index--find-links=安装包路径-rrequirements.txt下载
系统 2019-09-27 17:47:58 2377