Python10行以内代码能有什么高端操作

news2024/11/24 19:53:54

Python10行以内代码能有什么高端操作

Python凭借其简洁的代码,赢得了许多开发者的喜爱。因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作。下面我们来看看,我们用不超过10行代码能实现些什么有趣的功能。

一、生成二维码

二维码作为一种信息传递的工具,在当今社会发挥了重要作用。而生成一个二维码也非常简单,在Python中我们可以通过MyQR模块了生成二维码,而生成一个二维码我们只需要2行代码,我们先安装MyQR模块,这里选用国内的源下载:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ myqr

安装完成后我们就可以开始写代码了:

from MyQR import myqr    # 注意大小写myqr.run(words='http://www.baidu.com')    # 如果为网站则会自动跳转,文本直接显示,不支持中文

我们执行代码后会在项目下生成一张二维码。当然我们还可以丰富二维码:

from MyQR import myqrmyqr.run(    words='http://www.baidu.com',    # 包含信息    picture='lbxx.jpg',            # 背景图片    colorized=True,            # 是否有颜色,如果为False则为黑白    save_name='code.png'    # 输出文件名)

效果图如下:

另外MyQR还支持动态图片。

二、生成词云

词云是数据可视化的一种非常优美的方式,我们通过词云可以很直观的看出一些词语出现的频率高低。使用Python我们可以通过wordcloud模块生成词云,我们先安装wordcloud模块:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ wordcloud

然后我们就可以写代码了:

from wordcloud import WordCloudwc = WordCloud()    # 创建词云对象wc.generate('Do not go gentle into that good night')    # 生成词云wc.to_file('wc.png')    # 保存词云

执行代码后生成如下词云:

当然这只是最简单的词云,词云更详细的操作可以参见WordCloud生成卡卡西忍术词云[1]。

三、批量抠图

抠图的实现需要借助百度飞桨的深度学习工具paddlepaddle,我们需要安装两个模块就可以很快的实现批量抠图了,第一个是PaddlePaddle:

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

还有一个是paddlehub模型库:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

更详细的安装事项可以参见飞桨官网:https://www.paddlepaddle.org.cn/

接下来我们只需要5行代码就能实现批量抠图:

import os, paddlehub as hubhumanseg = hub.Module(name='deeplabv3p_xception65_humanseg')        # 加载模型path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/'    # 文件目录files = [path + i for i in os.listdir(path)]    # 获取文件列表results = humanseg.segmentation(data={'image':files})    # 抠图

抠图效果如下:

其中左边为原图,右边为抠图后填充黄色背景图。

四、文字情绪识别

在paddlepaddle面前,自然语言处理也变得非常简单。实现文字情绪识别我们同样需要安装PaddlePaddle和Paddlehub,具体安装参见中内容。然后就是我们的代码部分了:

import paddlehub as hub        senta = hub.Module(name='senta_lstm')        # 加载模型sentence = [    # 准备要识别的语句    '你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',]results = senta.sentiment_classify(data={"text":sentence})    # 情绪识别# 输出识别结果for result in results:    print(result)

识别的结果是一个字典列表:

{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}

其中sentiment_key字段包含了情绪信息,详细分析可以参见Python自然语言处理只需要5行代码[2]。

五、识别是否带了口罩

这里同样是使用PaddlePaddle的产品,我们按照上面步骤安装好PaddlePaddle和Paddlehub,然后就开始写代码:

import paddlehub as hub# 加载模型module = hub.Module(name='pyramidbox_lite_mobile_mask')# 图片列表image_list = ['face.jpg']# 获取图片字典input_dict = {'image':image_list}# 检测是否带了口罩module.face_detection(data=input_dict)

执行上述程序后,项目下会生成detection_result文件夹,识别结果都会在里面,识别效果如下:

六、简易信息轰炸

Python控制输入设备的方式有很多种,我们可以通过win32或者pynput模块。我们可以通过简单的循环操作来达到信息轰炸的效果,这里以pynput为例,我们需要先安装模块:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

在写代码之前我们需要手动获取输入框的坐标:

from pynput import mouse# 创建一个鼠标m_mouse = mouse.Controller()# 输出鼠标位置print(m_mouse.position)

可能有更高效的方法,但是我不会。

获取后我们就可以记录这个坐标,消息窗口不要移动。然后我们执行下列代码并将窗口切换至消息页面:

import timefrom pynput import mouse, keyboardtime.sleep(5)m_mouse = mouse.Controller()    # 创建一个鼠标m_keyboard = keyboard.Controller()  # 创建一个键盘m_mouse.position = (850, 670)       # 将鼠标移动到指定位置m_mouse.click(mouse.Button.left) # 点击鼠标左键while(True):    m_keyboard.type('你好')        # 打字    m_keyboard.press(keyboard.Key.enter)    # 按下enter    m_keyboard.release(keyboard.Key.enter)    # 松开enter    time.sleep(0.5)    # 等待 0.5秒

我承认,这个超过了10行代码,而且也不高端。使用前QQ给小号发信息效果如下:

七、识别图片中的文字

我们可以通过Tesseract来识别图片中的文字,在Python中实现起来非常简单,但是前期下载文件、配置环境变量等稍微有些繁琐,所以本文只展示代码:

import pytesseractfrom PIL import Imageimg = Image.open('text.jpg')text = pytesseract.image_to_string(img)print(text)

其中text就是识别出来的文本。如果对准确率不满意的话,还可以使用百度的通用文字接口。

八、绘制函数图像

图标是数据可视化的重要工具,在Python中matplotlib在数据可视化中发挥重要作用,下面我们来看看使用matplotlib如何绘制一个函数图像:

import numpy as np from matplotlib import pyplot as plt
x = np.arange(1,11)     # x轴数据y =  x * x +  5         # 函数关系plt.title("y=x*x+5")     # 图像标题plt.xlabel("x")     # x轴标签plt.ylabel("y")     # y轴标签plt.plot(x,y)     # 生成图像plt.show()    # 显示图像

生成图像如下:

九、人工智能

下面给大家介绍的是独家的AI人工智能,一般不外传的。这个人工智能可以回答许多问题,当然人工智能现在还在发展阶段,想要理解人类的语言还差很多。废话不多说,下面来看看我们的人工智能Fdj:

while(True):    question = input()    answer = question.replace('吗', '呢')    answer = answer.replace('?', '!')    print(answer)

下面我们来看看简单的测试:

你好吗?我好呢!你吃饭了吗?我吃饭了呢!你要睡了吗?我要睡了呢!

看来我们“小复”还是比较智能的。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/652205.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于组织申报国家重点研发计划“高性能制造技术与重大装备”等重点专项2023年度项目的通知

源自:上海市科学技术委员会 各有关单位: 根据《科技部关于发布国家重点研发计划“高性能制造技术与重大装备”等6个重点专项2023年度项目申报指南的通知》(国科发资〔2023〕90号)《科技部关于发布国家重点研发计划“文化科技与现…

Linux---端口(nmap、netstat)、进程管理(ps、kill)

1. 端口 端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类。 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等。 虚拟端口:是指计…

制定测试计划和测试用例

制定测试计划和测试用例 测试是软件开发过程中很重要的一环,通过测试可以发现和修复软件中的缺陷或错误,保证软件的质量和可靠性。在进行软件测试时,制定合理的测试计划和测试用例是非常必要的,下面我将从这两个方面分别进行讲解。…

第10篇:强化学习Q-learning求解迷宫问题 代码实现

你好,我是郭震(zhenguo) 今天重新发布强化学习第10篇:强化学习Q-learning求解迷宫问题 代码实现 我想对此篇做一些更加详细的解释。 1 创建地图 创建迷宫地图,包括墙网格,走到墙网格就是负奖励。 注意&…

使用JRS303校验对参数进行提前校验

文章目录 前言JRS303简单使用版本JRS303提供的常用校验注解 JRS303进阶使用版本情景一:对于一个主键id字段我想要新增的时候不校验 但是更新的时候进行校验情景二: 在实际项目中 我们有一些字段只能填入规定的几个值 类似于枚举 那么就需要我们编写自定义…

N-Gram语言模型工具kenlm的详细安装教程

【本配置过程基于Linux系统】 下载源代码: wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz 编译: makdir kenlm/build cd kenlm/build cmake .. && make -j4 发现报错: 系统中没有cmake,按照错误提示&am…

华为认证 | HCIA-SDN 考试大纲

01 考试概述 02 考试范围 HCIA-SDN V1.0考试覆盖数据通信基础知识,SDN架构,SDN二、三层网络原理,SDN接口协议原理比如OpenFlow协议、Netconf协议、RestFul协议原理,以及在华为交换机与路由器中的实现。 SDN二三层技术&#xff1…

【JVM系列】java类加载机制详解

文章目录 一、类的生命周期二、类的加载过程加载验证准备解析初始化 三、类加载时机四、类加载器分类五、双亲委派原则六、Java字节码文件中的JVM指令 类是在运行期间第一次使用时动态加载的,而不是一次性加载所有类。因为如果一次性加载,那么会占用很多…

chatgpt赋能python:Python怎么生成程序?

Python怎么生成程序? 介绍 Python作为一种高级编程语言,最初是为简化代码编写而设计的。Python是一种相对简单的语言,因此在编写软件时非常有用。随着搜索引擎优化的出现和与之相关的需求,Python成为了生成程序的主要方式之一。…

策略模式(二十五)

相信自己,请一定要相信自己 上一章简单介绍了状态模式(二十四), 如果没有看过, 请观看上一章 一. 策略模式 引用 菜鸟教程里面 策略模式介绍: https://www.runoob.com/design-pattern/strategy-pattern.html 在策略模式(Strategy Pattern)…

【MySQL函数】:让你的数据库操作更高效(二)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL日期时间、条件判断、系统信息、加密、进制转换和IP地址转换函数的讲解✨ 目录 前言一、日期和时间函数二、条件判断函数三、系统信息函数四、加密函数五、进制转换函数六、IP地址转换函数七、总结 一、日期和时…

chatgpt赋能python:Python怎么直接打出两个括号?

Python怎么直接打出两个括号? 你是否曾经在使用Python编写代码时,需要频繁地输入括号?每次都需要输入Shift键和9/0键来输入左右两个括号,有时还会出现输入错误的情况。那么有没有一种更加快捷的方法来输入括号呢?答案…

【Python 随练】企业奖金计算器

题目: 企业发放的奖金根据利润提成。利润 : 低于或等于 10 万元时,奖金可提 10%;高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10万元的部分,可提成7.5%&#…

PCIe卡设计方案:单路12Gsps 3G 带宽模拟信号源PCIe卡

一、板卡概述 单路3G带宽模拟信号源卡由DA子卡和PCIe底板组成,二者通过标准FMC连接器互联,可以实现将PCIe总线数据转换为一路高速的模拟量输出。北京太速科技板可广泛用于雷达、通信、光电领域的噪声信号、毛刺、脉冲信号模拟产生等领域。 二、 …

程序的性能优化实践总结——JAVA

文章目录 1、 衡量程序性能的指标2、Java 程序性能优化切入点3、获取程序的性能数据1、nmon:获取系统性能数据2、jvisualvm:获取JVM性能数据3、jmc:获取Java应用详细性能数据4、arthas:获取单个请求的调用链耗时5、wrk获取Web接口的性能数据 4、应用程序优化1、缓冲区2、缓存3、…

mlr3系列机器学习教程1–mlr3介绍.

mlr3包是既往mlr包的升级,mlr3包为大量的机器学习技术提供了一个通用的技术接口。mlr3不单单是一个包,而是一个生态系列,包括一系列机器学习的R包。 我们下导入mlr3包,使用R自带的汽车数据来做个简单的演示 library(mlr3) libra…

Nodejs一、初识

零、文章目录 Nodejs一、初识 1、初识 Node.js (1)回顾与思考 浏览器中的 JavaScript 的组成部分 为什么 JavaScript 可以在浏览器中被执行 为什么 JavaScript 可以操作 DOM 和 BOM 浏览器中的 JavaScript 运行环境 JavaScript 能否做后端开发&#…

HTMLCSS Day07 CSS Flex布局

文章目录 1.flex布局2.flex布局属性容器属性元素属性 3.flex弹性盒模型3.1.主轴3.2.沿主轴的排列处理3.3.flex-flow属性3.4.justify-content属性3.5.align-items属性3.6.align-content3.7 项目属性3.8.order3.9.flex-grow3.10.flex-shrink3.11.flex-basis3.12.flex3.13.align-s…

干翻Mybatis源码系列之第十篇:Mybatis拦截器基本开发、基本使用和基本细节分析

给自己的每日一句 不从恶人的计谋,不站罪人的道路,不坐亵慢人的座位,惟喜爱耶和华的律法,昼夜思想,这人便为有福!他要像一棵树栽在溪水旁,按时候结果子,叶子也不枯干。凡他所做的尽…

使用终极 GUI 框架 NiceGUI 提升你的 Python 应用程序

介绍 随着机器学习和深度学习网站应用程序的快速增长,开发人员一直在寻找新的 Web 框架,以便更轻松地构建这些网站应用程序。 数据科学应用程序的普及程度已经上升,因此新的框架也在增加。开发人员创建了许多新的框架,这些框架被证…