python编程代码大全100例?用python简单编程例子
大家好,如果您还对python编程代码大全100例不太了解,没有关系,今天就由本站为大家分享python编程代码大全100例的知识,包括用python简单编程例子的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
我用了100行Python代码,实现了与女神尬聊微信(附代码)
朋友圈很多人都想学python,有一个很重要的原因是它非常适合入门。对于人工智能算法的开发,python有其他编程语言所没有的独特优势,代码量少,开发者只需把精力集中在算法研究上面。
本文介绍一个用python开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!
准备:
编程工具IDE:pycharm
python版本: 3.6.0
首先新建一个py文件,命名为:ai_chat.py
PS:以下五步的代码直接复制到单个py文件里面就可以直接运行。为了让读者方便写代码,我把代码都贴出来了,但是排版存在问题,我又把在pycharm的代码排版给截图出来。
第一步:引入关键包
简单介绍一下上面几个包的作用: pickle包是用来对数据序列化存文件、反序列化读取文件,是人类不可读的,但是计算机去读取时速度超快。(就是用记事本打开是乱码)。而 json包是一种文本序列化,是人类可读的,方便你对其进行修改(记事本打开,可以看到里面所有内容,而且都认识。) gensim包是自然语言处理的其中一个python包,简单容易使用,是入门NLP算法必用的一个python包。 jieba包是用来分词,对于算法大咖来说效果一般般,但是它的速度非常快,适合入门使用。
以上这些包,不是关键,学习的时候,可以先跳过。等理解整个程序流程后,可以一个一个包有针对性地去看文档。
第二步:静态配置
这里path指的是对话语料(训练数据)存放的位置,model_path是模型存储的路径。
这里是个人编程的习惯,我习惯把一些配置,例如:文件路径、模型存放路径、模型参数统一放在一个类中。当然,实际项目开发的时候,是用config文件存放,不会直接写在代码里,这里为了演示方便,就写在一起,也方便运行。
第三步:编写一个类,实现导数据、模型训练、对话预测一体化
首次运行的时候,会从静态配置中读取训练数据的路径,读取数据,进行训练,并把训练好的模型存储到指定的模型路径。后续运行,是直接导入模型,就不用再次训练了。
对于model类,我们一个一个来介绍。
initialize()函数和 __init__()函数是对象初始化和实例化,其中包括基本参数的赋值、模型的导入、模型的训练、模型的保存、最后返回用户一个对象。
__train_model()函数,对问题进行分词,使用 gesim实现词袋模型,统计每个特征的 tf-idf,建立稀疏矩阵,进而建立索引。
__save_model()函数和 __load_model()函数是成对出现的,很多项目都会有这两个函数,用于保存模型和导入模型。不同的是,本项目用的是文件存储的方式,实际上线用的是数据库
get_answer()函数使用训练好的模型,对问题进行分析,最终把预测的回答内容反馈给用户。
第四步:写三个工具类型的函数,作为读写文件。
其中,获取对话材料,可以自主修改对话内容,作为机器的训练的数据。我这里只是给了几个简单的对话语料,实际上线的项目,需要大量的语料来训练,这样对话内容才饱满。
这三个工具函数,相对比较简单一些。其中 get_data()函数,里面的数据是我自己编的,大家可以根据自己的习惯,添加自己的对话数据,这样最终训练的模型,对话方式会更贴近自己的说话方式。
第五步:调用模型,进行对话预测
主函数main(),就是你整个程序运行的起点,它控制着所有步骤。
运行结果:
程序后台运行结果:
如果有疑问想获取源码(其实代码都在上面),可以后台私信我,回复:python智能对话。我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!
Python输出格式大全,代码都可复制
作用:程序输出内容给用户。配套课程在我的主页哦!
技巧:
格式化字符串除了%s,还可以写成f'{表达式}'
f-格式化字符串是Python 3.6中新增的格式化方法,该方法更简单易读。
:换。
:制表符,个tab键(4个空格)的距离。
想一想为什么两个print会转行输出?
在Python中,print(),默认带 end=""这个换结束符,所以导致每两个 print直接会换行展示,户可以按需求更改结束符。
格式化符号
f-字符串
转义字符
print结束符
100行Python代码实现一款高精度免费OCR工具
以下是一个基于Textshot简化思路的100行左右Python代码实现的高精度免费OCR工具,整合了截图和Tesseract OCR功能:
import sysfrom PIL import ImageGrabimport pytesseractfrom PyQt5.QtWidgets import QApplication, QWidget, QMainWindowfrom PyQt5.QtGui import QPainter, QPen, QColor, QCursor, QFontfrom PyQt5.QtCore import Qt, QPoint, QRectclass OCRSnipper(QWidget): def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle("OCR Snipper") self.setWindowFlags(Qt.FramelessWindowHint| Qt.WindowStaysOnTopHint) self.setWindowState(Qt.WindowFullScreen) self.setStyleSheet("background-color: black;") self.setWindowOpacity(0.3) QApplication.setOverrideCursor(QCursor(Qt.CrossCursor)) self.start= self.end= QPoint() self.result_font= QFont("Arial", 14) def keyPressEvent(self, event): if event.key()== Qt.Key_Escape: QApplication.quit() elif event.key()== Qt.Key_Return and self.start!= self.end: x1, x2= sorted([self.start.x(), self.end.x()]) y1, y2= sorted([self.start.y(), self.end.y()]) try: img= ImageGrab.grab(bbox=(x1, y1, x2, y2)) text= pytesseract.image_to_string(img, lang='eng+chi_sim') print("n识别结果:n", text) except Exception as e: print("识别失败:", e) QApplication.quit() def paintEvent(self, event): if self.start== self.end: return painter= QPainter(self) painter.setPen(QPen(QColor(255, 255, 255), 2)) rect= QRect(self.start, self.end).normalized() painter.drawRect(rect) painter.drawText(rect.topLeft(),"按Enter确认,ESC退出") def mousePressEvent(self, event): self.start= event.pos() self.end= event.pos() self.update() def mouseMoveEvent(self, event): self.end= event.pos() self.update() def mouseReleaseEvent(self, event): passif __name__=="__main__": app= QApplication(sys.argv) window= QMainWindow() snipper= OCRSnipper(window) snipper.show() sys.exit(app.exec_())代码说明:核心功能:
截图功能:通过继承QWidget重写鼠标事件(mousePress/Move/Release)实现矩形框选。
OCR识别:使用pytesseract调用Tesseract引擎,支持中英文混合识别(需安装对应语言包)。
交互逻辑:框选后按Enter确认识别,ESC退出程序。
关键依赖:
PyQt5:用于GUI和截图界面开发。
Pillow(PIL):图像抓取(ImageGrab.grab)。
pytesseract:Tesseract OCR的Python封装。
使用前准备:
安装Tesseract OCR引擎:
Windows:下载安装包并添加环境变量(如C:Program FilesTesseract-OCR)。
Mac:brew install tesseract。
Linux:sudo apt install tesseract-ocr(Ubuntu/Debian)。
安装Python库:
pip install PyQt5 pillow pytesseract扩展建议:
多语言支持:修改image_to_string的lang参数(如'eng'仅英文)。
结果展示:用QMessageBox或新窗口显示识别结果,而非终端打印。
性能优化:添加图像预处理(灰度化、二值化)提升识别率。
效果示例:运行程序后全屏变半透明黑色,鼠标变为十字准星。拖动鼠标框选文本区域,按Enter输出识别结果到终端。
(注:实际效果为静态截图,动态操作需运行代码体验)此代码精简至100行内,保留了核心功能,适合学习OCR工具的基本原理或快速部署使用。
文章分享结束,python编程代码大全100例和用python简单编程例子的答案你都知道了吗?欢迎再次光临本站哦!