python学习
文章平均质量分 66
python攻略
w²大大
这个作者很懒,什么都没留下…
展开
-
python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)
python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)一、相关库的下载二、excel 和 word模板事先准备三、代码实现一、相关库的下载pip install docxtplpip install openpyxl二、excel 和 word模板事先准备excelword三、代码实现from docxtpl import DocxTemplatefrom openpyxl import load_workbookimport os#定义一原创 2022-01-07 10:17:20 · 3042 阅读 · 4 评论 -
一文攻克Python的线程以及线程间通信(队列)以及互斥锁的使用
Python的线程以及线程间通信(队列)以及互斥锁的使用一、什么是线程二、创建线程1、使用threading模块创建线程2、使用Thread子类创建线程3、线程间通信4、使用队列在线程间通信三、互斥锁1、使用互斥锁四、线程和进程的区别总结一、什么是线程如果需要同时处理多个任务,一种是可以在一个应用程序内使用多个进程,每个进程负责完成一部分工作;另一种将工作细分为多个任务的方法是使用一个进程内的多个线程。那么,什么是线程呢?线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是原创 2022-01-04 00:02:03 · 914 阅读 · 1 评论 -
一文攻克Python的进程以及如何实现进程间通信(队列)
Python的进程以及如何实现进程间通信一、进程概念二、创建进程的常用方式1、使用multiprocessing模块创建进程2、使用Process子类创建进程3、 使用进程池Pool创建进程三、通过队列实现进程间通信1、不通过其他条件,进程之间是否能共享信息?2、多线程队列的简单使用3、使用队列在进程中通信一、进程概念在了解进程之前,先了解多任务。多任务就是指操作系统能够执行多个任务。例如,使用Window或Linux操作系统可以同时看电影、聊天、查看网页信息等,此时操作系统就是在执行多任务,而每一个任原创 2022-01-03 23:37:41 · 1186 阅读 · 0 评论 -
VS code配置Python+PYQT5
VS code配置Python+PYQT5一、自行安装Python3 (安装包如下)二、安装PyQt5以及PyQt5-tools(这里面含有designer了)三、VSCode配置PyQt5和designer1.安装pyqt integration扩展2.配置pyqt integration一、自行安装Python3 (安装包如下)链接:https://pan.baidu.com/s/1fMYMmwXIPy0rGS_B5V6Iqg提取码:3333二、安装PyQt5以及PyQt5-tools(这里面原创 2021-12-10 22:27:47 · 2563 阅读 · 2 评论 -
分割字符串split函数的正确用法(切片)
分割字符串split函数的正确用法(切片)split函数是将字符串分割为列表函数原型:str.split(sep,maxsplit)参数说明:str:表示要进行分割的字符串sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行“\n”、制表符“\t”等)maxsplit:可选参数,用于指定的分割次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数最多为maxsplit+1返回值:分割后的字符串列表。注意:如果在split()方原创 2021-11-24 00:01:32 · 19449 阅读 · 0 评论 -
python UDP网络通信
python UDP网络通信一、概念二、创建UDP服务器 udp_server.py三、创建UDP客户端 udp_client.py一、概念UDP是面向消息的协议,如果通信是不需要建立连接,数据的传输自然是不可靠的,UDP一般用于多点通信和实时的数据业务,例如:语言广播视频TFTP(简单文件传送)SNMP(简单网络管理协议)RIP(路由信息协议,如报告股票市场、航空信息)DNS(域名解析)和TCP类似,使用UDP的通信双方也分为客户端和服务器。相关函数:s = socket.soc原创 2021-11-18 17:15:19 · 2372 阅读 · 1 评论 -
python 快速生成Verilog模板工程目录,加速开发效率 (超级好用)
python 快速生成Verilog模板工程目录由于在编写Verilog代码时,需要创建工程加很多子文件,难道一个工程就要进行繁琐的操作么,其实大可不必,为了偷懒写了一个快速生成Verilog模板工程目录的例如:代码如下:import osdir_name = input("请输入主文件夹工程的名字:\n")os.mkdir(dir_name)os.chdir(dir_name) #进入创建主文件夹的工程#创建在主文件夹内创建四个子文件夹,分别是 doc prj rtl tb ip#原创 2021-11-18 00:47:59 · 1322 阅读 · 0 评论 -
python 一行代码生成自己图片的二维码
python 一行代码生成自己的二维码环境生成二维码环境python 3.7.9 (其他环境没验证过,不过也应该可以)还需要安装myqr (生成二维码的库)安装命令其如下:pip install myqr如果上面不行,请用下面的命令pip install myqr -i https://pypi.tuna.tsinghua.edu.cn/simple生成二维码1.准备好图片(图片可以使任意格式图片入:.jpg .bmp .png .gif)2.然后再终端(win+原创 2021-11-17 17:26:32 · 1342 阅读 · 0 评论 -
python 推导式(列表推导式、元组推导式、字 典推导式和集合推导式)以及zip 函数及用法(带示例)
python 推导式(列表推导式、元组推导式、字 典推导式和集合推导式)以及zip 函数及用法(带示例)一、推导式1.概念2.Python 列表推导式Python 元组推导式Python 字典推导式二、zip 函数及用法1.概念2.用法一、推导式1.概念推导式(又称解析器),是 Python 独有的一种特性。使用推导式可以快速生成列表、元组、字典以及集合类型的数据,因此推导式又可细分为列表推导式、元组推导式、字典推导式以及集合推导式。2.Python 列表推导式列表推导式可以利用 range 区间原创 2021-11-17 09:53:47 · 1688 阅读 · 0 评论 -
python实现简易的图书管理系统
python实现简易的图书管理系统一、设计需求二、实现代码一、设计需求1.添加书籍2.查询数据3.借书存储方式 ,用excel保存到硬盘上二、实现代码# 一、介绍# 主要功能实现# 1、借书# 2、添加新书# 3、查找图书# 数据存储:excel表import xlwtimport xlrdimport xlutils.copyimport os#book = {"位置":"","书名":"","价格":"","作者":""}#存储方式 用exceltitle原创 2021-11-16 19:17:55 · 3293 阅读 · 0 评论 -
python for 循环多种用法详解(穿插整数、字符串、列表、元组、字典)
python for 循环及用法详解一、for 循环二、用法1.for 循环遍历数值2.for 循环遍历字符串3.for 循环遍历列表和元组4.for 循环遍历字典keys()values()items()一、for 循环for 循环的语法格式如下:for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块原创 2021-11-16 18:43:49 · 11811 阅读 · 0 评论 -
python format()格式化输出方法详解
python format格式化输出方法详解format() 方法的语法格式如下:各个参数的含义如下:简单示例字符串类型(str)提供了 format() 方法对字符串进行格式化format() 方法的语法格式如下:str.format(args)此方法中,str 用于指定字符串的显示样式;args 用于指定要进行格式转换的项,如果有多项,之间有逗号进行分割。学习 format() 方法的难点,在于搞清楚 str 显示样式的书写格式。在创建显示样式模板时,需要使用{}和:来指定占位符,其完整的语原创 2021-11-16 10:34:16 · 1698 阅读 · 0 评论 -
python 浅拷贝和深拷贝
python 浅拷贝和深拷贝一、浅拷贝(shallow copy)二、深拷贝(deep copy)一、浅拷贝(shallow copy)浅拷贝:指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用换句话说:(浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址)对于元组,使用 tuple() 或者切片操作符 ‘:’ 不会创建一份浅拷贝,相反它会返回一个指向相同元组的引用:对数据采用浅拷贝的方式时,如果原对象中的元素不可变,那倒无所谓;但如果元素可原创 2021-11-15 10:21:51 · 730 阅读 · 0 评论 -
python+tensorflow对mnist数据集的神经网络训练和推理 加参数提取(图片、权重、偏置)----规范版
python+tensorflow对mnist数据集的神经网络训练和推理 加参数提取----规范版一、数据集获取二、训练1.前向传播2.反向传播三、预测四、参数提取1.权重和偏置2.图片参数提取(归一化)五、完整工程下载一、数据集获取extract_mnist.pyfrom tensorflow_core.examples.tutorials.mnist import input_datafrom scipy import miscimport numpy as npimport osmni原创 2021-11-05 20:15:32 · 921 阅读 · 0 评论 -
python+tensorflow对mnist数据集的神经网络训练和推理 加参数提取(图片、权重、偏置)----简易版
python+tensorflow对mnist数据集的神经网络训练和推理 加参数提取一、数据集的获取python+tensoflow的训练三、预测predict四、参数提取成 c头文件的形式(例:input_0.h)①权重和偏置的提取②图片参数保存一、数据集的获取from tensorflow_core.examples.tutorials.mnist import input_datafrom scipy import miscimport numpy as npimport os#获取数原创 2021-10-29 09:29:36 · 1876 阅读 · 0 评论 -
python Socket编程遇到 TypeError: a bytes-like object is required, not ‘str‘
TypeError: a bytes-like object is required, not 'str'原因:解决办法:报错意思是:类型错误:需要类似字节的对象,而不是字符串原因:在socket编程中 传输是以字节流的方式传输(所以需要转换)解决办法:只需要用上python的bytes和str两种类型转换的函数encode()、decode()即可!str通过encode()方法可以编码为指定的bytes;反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要原创 2021-09-08 11:07:51 · 425 阅读 · 0 评论 -
python ModuleNotFoundError: No module named ‘email.mime‘; ‘email‘ is not a package
ModuleNotFoundError: No module named ‘email.mime’; ‘email’ is not a package解决办法:第一:未导入包进行安装即可pip install PyEmail第二:包名和文件名冲突只需要将文件名修改一下便可以,注意这个问题就好...原创 2021-09-07 16:31:54 · 23178 阅读 · 1 评论 -
Python 用list 列表实现栈和队列
用list 列表实现栈和队列一、简介二、Python list 实现队列三、Python list 实现栈一、简介队列和栈是两种数据结构,其内部都是按照固定顺序来存放变量的,二者的区别在于对数据的存取顺序:• 队列是,先存入的数据最先取出,即“先进先出”。• 栈是,最后存入的数据最先取出,即“后进先出”。二、Python list 实现队列使用 list 列表模拟队列功能的实现方法是,定义一个 list 变量,存入数据时使用 insert() 方法,设置其第一个参数为 0,即表示每次都从最前面原创 2021-09-07 10:20:39 · 1306 阅读 · 0 评论 -
python 面向对象编程
python 面向对象编程一、概念1.面向对象是什么,面向过程是什么2.为什么使用面向对象二、创建、实例化、销毁三、继承一、概念1.面向对象是什么,面向过程是什么面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了2.为什么使用面向对象易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系原创 2021-08-18 18:03:02 · 121 阅读 · 0 评论 -
python TCP网络通信
python TCP网络通信一、概念二、客户端构建流程三、服务器端构建流程tcp通信模型udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,“写信"”tcp通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,“打电话”"一、概念tcp客户端和服务端所谓的服务器端:就是提供服务的一方,而客户端,就是需要被服务的一方(顺序是先打开服务器,在打开客户端)二、客户端构建流程TCP客户端端流程1、创建socket2、配置服务器端口原创 2021-08-18 15:37:57 · 747 阅读 · 0 评论 -
python 数字 、字符串、列表、元组、字典和集合
python 数字 、字符串、列表、元组、字典和集合一、数字(number)二、字符串(str)1.定义可以用英文的单引号和双引号2.索引和截取3.拼接 (+)4.in/not in5.格式化输出三、列表(list)1.定义2.索引与截取3.添加元素 append4.删除元素 del list_var5.读取长度 len6.拼接7.重复8.排序四、元组(tuple)1.定义2.索引和截取3.拼接4.删除del五、字典(dict)1.定义2.访问3.更新、添加、删除4.清空字典所有条目5.删除字典六、集合(原创 2021-08-18 13:44:19 · 580 阅读 · 0 评论 -
python 多线程操作
python 多线程操作一、概念1.什么是线程?2.为什么使用多线程3.线程的优点:二、Python中使用线程有两种方式:函数或者用类来包装线程对象。1.函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下:2.使用 threading 模块创建线程三、线程相关作业一、概念1.什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它原创 2021-08-17 21:35:40 · 310 阅读 · 0 评论 -
python自动化办公之(四)邮件收发
@TOC一、安装邮件库pip install PyEmail二、邮件接口这里以qq邮箱来介绍需要开启QQ邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了步骤如下:导入库import smtplibfrom email.mime.text import MIMEText#email 用于构建邮件内容from email.header import Header#用于构建邮件头发信方的信息:发信邮箱,QQ 邮箱授权码原创 2021-08-17 19:55:38 · 555 阅读 · 2 评论 -
python 自动化办公之(三)PPT操作
python 自动化办公之(三)PPT操作一、安装ppt库二、接口介绍三、程序示例一、安装ppt库pip install python-pptx二、接口介绍导入库from pptx import Presentation创建pptprs = Presentation()保存prs.save(“test.pptx”)三、程序示例from pptx import Presentation#创建pptppt = Presentation()#获取句柄title_slide原创 2021-08-17 17:31:47 · 415 阅读 · 3 评论 -
python 自动化办公(二)excel操作
python 自动化办公(二)excel操作一、安装excel库二、excel接口1.写操作2.读操作三、制作成绩单一、安装excel库pip install xlrdpip install xlwt二、excel接口1.写操作新建excel#新建excelworkbook = xlwt.Workbook()新建sheet表#workbook.add_sheet()第二参数用于确认同一个cell单元是否可以重设值。worksheet = workbook.add_sheet("一班原创 2021-08-17 15:14:22 · 367 阅读 · 0 评论 -
python 自动化办公(一)word制作
python 自动化办公(一)word制作一、安装环境二、程序接口1.导入模块2.新建word文档3.添加标题4.添加图片5添加分页6.添加列表7.添加段落8.保存三、以下是自动做简历的示例程序一、安装环境pip install python-docx如果出现错误,就换个源下载pip install python-docx -i https://pypi.douban.com/simple二、程序接口add_paragraph()方法会返回Paragraph()对象。该对象包含了对此段文本进原创 2021-08-17 14:27:09 · 733 阅读 · 2 评论 -
python 文件操作、异常操作
python 文件操作、异常操作一、python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。二、文件操作:三、目录操作:四、代码实例:1.test.py2.利用文件操作生成c程序标准模板目录10个,包含c源程序和测试测序文件3.利用python产生50个工程模板目录,里面包含verilog文件模板和testbench模板五、异常操作一、python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录原创 2021-08-17 11:12:38 · 272 阅读 · 0 评论 -
python 多文件编程(模块调用)
多文件编程一、模块名的引入1.方法一:二、方法二二、具体实例一、模块名的引入1.方法一:模块的引入:import module1[, module2[,... moduleN]]使用:模块名.函数名support.pydef print_func( par ): print("Hello : ", par) returntest.py# 导入模块import support # 调用模块里包含的函数support.print_func(“python")二、方原创 2021-08-17 10:08:47 · 2923 阅读 · 0 评论 -
python变量的作用域
python变量的作用域Python局部变量Python全局变量1.在函数体外定义的变量,一定是全局变量2.在函数体内定义全局变量。即使用 global 关键字对变量进行修饰后,该变量就会变为全局变量。所谓作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域是不一样的,一般分为局部变量和全局变量。Python局部原创 2021-08-17 10:01:30 · 171 阅读 · 0 评论 -
python 函数(定义与调用、参数列表与返回值)
python 函数一、定义与调用1.test求俩数之和2.求三角形面积3.求梯形面积3.求阶乘4.冒泡函数5.字符串查找函数二、参数列表与返回值1.test.py2.默认参数:调用函数时,如果没有传递参数,则会使用默认参数函数原型:def functionname( parameters ): "函数_文档字符串" function_suite return [expression]一、定义与调用1.test求俩数之和# 编写任意范围的求和函数,输入两个值,# 输出两个值之君原创 2021-08-17 09:47:11 · 490 阅读 · 0 评论 -
python 基本、条件和循环语句相关实验
python 基本、条件和循环语句相关实验一、基本语句1.test.py2.温度转化二、条件语句1.分数等级2.判断是否是闰年3.输出本月的天数4.求解一元二次方程求解5.石头剪刀布游戏三、循环语句1.九九乘法表2.密码登录框四、break,continue,pass语句五、例题:1.素数2.水仙花数:一、基本语句1.test.pyprint("Hello world")year = input("请输入你的年份:\n")print("输入的年份为:",year)2.温度转化#1.温度转换,原创 2021-08-17 09:31:55 · 235 阅读 · 0 评论 -
Python运算符及用法(超级详细)
Python运算符及用法(超级详细)一、算术运算符二、比较(关系)运算符三、赋值运算符四、逻辑运算符五、位运算符六、成员运算符七、身份运算符八、运算符优先级Python 中的运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符共 7 大类,运算符之间也是由优先级的,下面我们就来进行具体介绍。一、算术运算符运算符描述+两个数相加,或是字符串连接-两个数相减*两个数相乘,或是返回一个重复若干次的字符串/两个数相原创 2021-07-05 16:48:30 · 11619 阅读 · 0 评论 -
利用Python实现自动化办公之Excel简单操作
Python实现自动化办公之Excel简单操作一、用python创建一个excel1.首先下载相关的excel库函数:2.制作一个成绩单3.运行结果二 、读出刚刚用代码生成的excel,并进行相关的操作(求成绩的平均值,及最大值)运行结果:一、用python创建一个excel1.首先下载相关的excel库函数:pip install xlwd pip install xlrd如果下载慢的话:进行换源操作pip install xlwd -i https://pypi.douban.com/si原创 2021-04-13 19:54:25 · 387 阅读 · 1 评论 -
通过Python设计串口调试助手,结合FPGA串口工程进行验证
Python设计串口调试助手,结合FPGA串口工程进行验证一、用python设计串口1.串口到FPGA的数据格式是gbk,所以先将汉字编码为gbk编码 (双字节编码)2.将gbk编码转化为字符串格式送到FPGA中3.打开端口4.将数据写到FPGA(用的是uart协议)5.读取FPGA返回的数据,并将数据进行处理成汉字的形式二、打开Quartus,在FPGA上运行uart代码1.顶层文件2.uart_rx接收模块3.uart发送模块三、操作流程(需要FPGA的开发板)先运行uart串口代码,在运行python原创 2021-04-13 19:24:29 · 1085 阅读 · 0 评论 -
Pytorch深度学习(八):用Softmax和CrossEntroyLoss解决多分类问题(Minst数据集)
用Softmax和CrossEntroyLoss解决多分类问题(Minst数据集)一.SoftMax分类器1.函数原型:2.上述例子用Numpy实现:3.用pytorch实现4.设置batch_size为3时做的一个简单分类模型:二、完成MNIST识别手写体数字1.准备数据集2.构建训练模型class3.构造损失函数和优化器4.训练和测试5.运行结果如下:一.SoftMax分类器1.函数原型:这是我们常见的一个神经网络模型。在输出的时候我们常常会遇到多分类问题,这时就需要我们应用Softmax函数来原创 2020-08-24 15:53:43 · 2163 阅读 · 1 评论 -
Pytorch深度学习(七):加载数据集
加载数据集一、概念二、实现代码:一、概念数据集和数据加载器(Dataset and DataLoader)我们在以前讲解的例子中因为我们的数据集比较小,所以我们把所有的数据就直接不做任何处理就进行相关的训练也是可以的,但是如果我们的数据集比较大,就需要对数据集进行相关的操作才能提高我们的效率。如上图,我们可以先对数据进行shuffle(即进行打乱顺序),然后把这些数据加载并且将其分为不同的batch以下是相关概念的解释:二、实现代码:import torchfrom torch.util原创 2020-08-24 11:12:49 · 1676 阅读 · 0 评论 -
Pytorch深度学习(六):多维特征的输入
多维特征的输入一、概念二、完整实现代码:一、概念我们来看看多维输入(Multiple Dimension Input),我们先看看多维Logistic回归模型:假设我们有一个8维的输入,于是就可以改变我们的Logistic回归模型。运用相关矩阵的知识我们便可以分析出Z矩阵的相关维度,并且b矩阵可以运用广播机制来参与相关的运算。下面是对糖尿病病人的病情进行预测,预测未来是否会加重。输入有8个指标,也就是8个维度,输出只有一个维度即是否加重病情。维度的变化其实就是线性代数中矩阵乘法的作用:[m原创 2020-08-21 17:01:23 · 1766 阅读 · 0 评论 -
Pytorch深度学习(五):Logistic 回归(实现二分类)
Logistic回归实现二分类一、概念二、完整代码如下:三、测试模型一、概念从下面的例子来进行,假设只要得到一定分数就可以看作可以通过考试:相当于我们不再预测学习4小时可以得到的成绩,而是判断学习4小时是否可以通过考试。在分类中,模型的输出是输入属于确切类别的概率。我们可以引入sigmond函数:可以进行归一化处理,方便我们可以进行相关的分类任务。Loss Function也发生了上述的变化。我们也可以使用mini-batch二、完整代码如下:import torch#1.准原创 2020-08-21 15:41:05 · 2194 阅读 · 0 评论 -
Pytorch深度学习(四):用Pytorch实现线性回归
用Pytorch实现线性回归一、概念1.准备数据集2.使用Class设计模型3.构建损失函数和优化器的选择4.进行训练的迭代。二、完整代码如下:一、概念上图主要介绍了使用Pytorch解决问题的四个步骤:1.准备数据集#1.准备数据集x_data = torch.Tensor([[1.0],[2.0],[3.0]])y_data = torch.Tensor([[2.0],[4.0],[6.0]])2.使用Class设计模型#2.使用Class设计模型class LinearMod原创 2020-08-21 11:45:23 · 2850 阅读 · 3 评论 -
Pytorch深度学习(三):反向传播
反向传播一、概念二、代码如下:一、概念Tensor:data 和 gradw.dataw.grad.data:数值计算,不构建计算图。w.grad.item():取出数值。w.grad.data.zero():清零。训练的目的,是为了让损失更小,即在训练过程中不断更新ω的值,以使得loss最小。所以我们在梯度下降的过程中,就是观察,并使其取向最小的趋势训练。根据上一节我们可以得到一般简单的线性更新计算的解析式为:Update为:其中,α称为学习率。(采用贪心策略)对应的Loss F原创 2020-08-20 16:30:34 · 21059 阅读 · 5 评论