202109-06 Python实现字典序列ChainMap 目录前言ChainMap重排列更新值前言容器数据类型包括数组list,字典dict以及元组tuple等。本篇,将详细介绍ChainMap字典序列的使用。ChainMapChainMap类管理的是一个字典序列,并按其出现的顺序搜索以查找与键关联的值。ChainMap提供了一个很好的“上下文”容器,因此可以把它看成一个栈,栈增长时发生变更,栈收缩时这些变更被丢弃。下面,我们来看看其基本的使用规则:importcollectionsa={"a":"A","c":"c",}b={"b":"B"... 继续阅读 >
202109-06 Python二进制数据结构Struct的具体使用 目录二进制数据结构Struct函数与Struct类打包解包字节序指示符缓冲区二进制数据结构Struct在C/C++语言中,struct被称为结构体。而在Python中,struct是一个专门的库,用于处理字节串与原生Python数据结构类型之间的转换。本篇,将详细介绍二进制数据结构struct的使用方式。函数与Struct类struct库包含了一组处理结构值得模块级函数,以及一个Struct类。格式指示符将由字符串格式转换为一种编译表示,这与处理正则表达式得方式类似... 继续阅读 >
202109-06 Python使用socket实现组播与发送二进制数据 什么是组播点对点连接可以处理很多通信需求,不过随着直接连接数的增加,在多对通信方之间传递相同的消息会变得越来越困难。单独地向各个接收方发送消息会耗费额外的处理时间和带宽,这对于诸如完成流视频或音频操作的应用来说,代码会出现显著的性能问题。而使用组播(multicast)向多个端点同时发送消息可以得到更好的效率,因为网络基础设施可以确保数据包会被传送到所有接收方。组播消息总是使用UDP发送,因为TCP需要提供一对... 继续阅读 >
202109-06 详解Bagging算法的原理及Python实现 目录一、什么是集成学习二、Bagging算法三、Bagging用于分类四、Bagging用于回归一、什么是集成学习集成学习是一种技术框架,它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来,目前,有三种常见的集成学习框架(策略):bagging,boosting和stacking也就是说,集成学习有两个主要的问题需要解决,第一是如何得到若干个个体... 继续阅读 >
202109-06 详解Bagging算法的原理及Python实现 目录一、什么是集成学习二、Bagging算法三、Bagging用于分类四、Bagging用于回归一、什么是集成学习集成学习是一种技术框架,它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来,目前,有三种常见的集成学习框架(策略):bagging,boosting和stacking也就是说,集成学习有两个主要的问题需要解决,第一是如何得到若干个个体... 继续阅读 >
202109-06 详解Python中Pygame键盘事件 Pygame事件pygame.event.EventType'''•事件本质上是一种封装后的数据类型(对象)•EventType是Pygame的一个类,表示事件类型•事件类型只有属性,没有方法•用户可自定义新的事件类型'''事件类型及属性事件处理函数键盘事件及类型的使用键盘事件及属性pygame.event.KEYDOWN#键盘按下事件pygame.event.KEYUP#键盘释放事件event.unicode#按键的unicode码,平台有关,不推荐使用event.key... 继续阅读 >
202109-06 python使用pgzero进行游戏开发 目录1.pgzeropgzero的安装2.游戏设计的过程3.pgzero基础4.pgzero游戏例子5.总结6.参考资料1.pgzeropython在各个领域都有着丰富的第三方库,pygame是python在游戏领域的应用库,可以用来开发各种不同的游戏。但是对于初学者来说,还是存在一定的门槛。pgzero是在pygame基础上做了进一步的封装,使得设计一款游戏十分的方便。pgzero的安装pip install pygamepip install pgzero2.游戏设计的过程我们可以... 继续阅读 >
202109-06 python自动化运维之Telnetlib的具体使用 目录前言:1.导入telnetlib库可以直接使用。2.配置服务器、用户名、密码,cmd命令等3.功能函数前言:远程连接中兴设备(系统使用的中兴网卡)时使用的事Telnet连接,连接时设有二次验证,每次输入用户名密码和执行命令是个繁琐的过程,使用Python自带的telnetlib库可以编写脚本,实现批量登录服务器并执行命令查询数据量。1.导入telnetlib库可以直接使用。fromtelnetlibimportTelnet2.配置服务器、用户名、密码,cmd命令等#####... 继续阅读 >
202109-06 如何用用Python制作NFT区块链作品 目录什么是NFT?ERC20与ERC721NFT有什么用?NFT的价值如何制作NFT如何进行无限定制的NFT快速上手ERC721代币标准什么是NFT元数据和TokenURI?TokenURI链下元数据与链上元数据什么是NFT?NFT英文全称为Non-FungibleToken,翻译成中文就是:非同质化代币,具有不可分割、不可替代、独一无二等特点。NFT由于其非同质化、不可拆分的特性,使得它可以和现实世界中的一些商品绑定。换言之,其实就是发行在区块链上的数字资产... 继续阅读 >
202109-06 如何用用Python制作NFT区块链作品 目录什么是NFT?ERC20与ERC721NFT有什么用?NFT的价值如何制作NFT如何进行无限定制的NFT快速上手ERC721代币标准什么是NFT元数据和TokenURI?TokenURI链下元数据与链上元数据什么是NFT?NFT英文全称为Non-FungibleToken,翻译成中文就是:非同质化代币,具有不可分割、不可替代、独一无二等特点。NFT由于其非同质化、不可拆分的特性,使得它可以和现实世界中的一些商品绑定。换言之,其实就是发行在区块链上的数字资产... 继续阅读 >
202109-04 python实现自动化脚本编写 目录1.打开浏览器,访问p.to2.登陆3.修改管理员密码4.单元测试数据5.检查输入的数据合法性6.获取输入错误数据之后的页面提示语7.编写测试用例8.编写单元测试类8.1单元测试中的通用操作8.2测试类9.进行单元测试并生成测试报告10.关闭浏览器11.异常处理11.1点击函数11.2填写表单11.3元素加载12.完整的测试代码本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试。(ps.这个demo中登陆密... 继续阅读 >
202109-04 Python中jieba库的使用方法 目录一、jieba库的安装二、jieba三种模式的使用三、jieba分词简单应用四、扩展:英文单词统计jieba库是一款优秀的Python第三方中文分词库,jieba支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据搜索引擎模式:在精确模式的基础上,对长词再次进行切分... 继续阅读 >
202109-04 Python scrapy爬取苏州二手房交易数据 一、项目需求使用Scrapy爬取链家网中苏州市二手房交易数据并保存于CSV文件中要求:房屋面积、总价和单价只需要具体的数字,不需要单位名称。删除字段不全的房屋数据,如有的房屋朝向会显示“暂无数据”,应该剔除。保存到CSV文件中的数据,字段要按照如下顺序排列:房屋名称,房屋户型,建筑面积,房屋朝向,装修情况,有无电梯,房屋总价,房屋单价,房屋产权。二、项目分析流程图通过控制台发现所有房屋信息都在一个ul中其中每一... 继续阅读 >
202109-04 python tqdm用法及实例详解 1、说明tqdm是一个方便且易于扩展的Python进度条,可以在python执行长循环时在命令行界面实时地显示一个进度提示信息,包括执行进度、处理速度等信息,且可在一定程度上进行定制。2、使用pip来安装tqdm模块pipinstalltqdm3、tqdm使用方法tqdm.tqdm(可迭代对象),括号中的可迭代对象可以是个list,tuple等。fromtqdmimporttqdm,trangeimporttimea=[1,2,3]foriintqdm(a):print('打印a[%d]:'%(i-1),i)time.sle... 继续阅读 >
202109-04 python使用pymysql模块操作MySQL 目录实例一:插入数据实例二:获取某个表全部数据实例三:根据cName模糊搜索实例四:修改数据实例五:删除数据实例一:插入数据importpymysqlimporttkinterastkconn=pymysql.connect(host='localhost',user='root',passwd='root',db='okzl',charset='utf8')master=tk.Tk()master.title("插入供应商信息")master.geometry('350x300')tk.Label(master,text='cName').place(x=30,y=10)tk.Label(master,text='address').... 继续阅读 >
202109-04 分析Python感知线程状态的解决方案之Event与信号量 目录一、停止线程二、线程信号的传递三、信号量四、总结一、停止线程利用Threading库我们可以很方便地创建线程,让它按照我们的想法执行我们想让它执行的事情,从而加快程序运行的效率。然而有一点坑爹的是,线程创建之后,就交给了操作系统执行,我们无法直接结束一个线程,也无法给它发送信号,无法调整它的调度,也没有其他高级操作。如果想要相关的功能,只能自己开发。怎么开发呢?我们创建线程的时候指定了target等于一个我... 继续阅读 >