Python以简洁的代码赢得了众多开发者的喜爱。因此,鼓励更多的开发者使用Python开发新的模块,从而形成良性循环。Python可以用更短的代码实现许多有趣的操作。让我们看看我们用不超过10行的代码可以实现哪些有趣的功能。1。生成二维码二维码作为一种信息传递的工具,在当今社会发挥着重要的作用。而且生成二维码也很简单。在Python中,我们可以通过MyQR模块生成一个二维码,我们只需要2行代码就可以生成一个二维码。我们首先安装MyQR模块。这里我们选择国内源下载:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/myqr安装完成后,我们就可以开始写代码了:fromMyQRimportmyqr#注意大写myqr.run(words='http://www.baidu.com')#如果是网站会自动跳转,直接显示正文。不支持中文。我们执行代码后,会在项目下生成一个二维码。当然我们也可以丰富二维码:fromMyQRimportmyqrmyqr.run(words='http://www.baidu.com',#containsinformationpicture='lbxx.jpg',#backgroundimagecolorized=True,#是否有color,如果为False则为黑白save_name='code.png'#输出文件名)效果图如下:另外MyQR还支持动态图片。2.生成词云词云是一种非常优雅的数据可视化方式。我们可以通过词云直观的看出一些词出现的频率。使用Python,我们可以通过wordcloud模块生成词云。我们先安装词云模块:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/wordcloud然后我们就可以写代码了:fromwordcloudimportWordCloudWordCloudwc=WordCloud#CreatewordsCloudobjectwc.generate('Donotgogentleintothatgoodnight')#生成词云wc.to_file('wc.png')#保存词云执行代码生成如下词云:当然这只是最简单的词云,词云更详细的操作,请参考WordCloud生成卡卡西忍术词云[1]。3、批量抠图的实现需要借助百度飞桨的深度学习工具paddlepaddle。我们需要安装两个模块来快速实现批量抠图。第一个是PaddlePaddle:python-mpipinstallpaddlepaddle-ihttps://mirror.baidu.com/pypi/simple还有一个paddlehub模型库:pipinstall-ihttps://mirror.baidu.com/pypi/simplepaddlehub接下来,我们只需要5行代码实现批量抠图:importos,paddlehubashubhubhumanseg=hub.Module(name='deeplabv3p_xception65_humanseg')#loadmodelpath='D:/CodeField/Workplace/PythonWorkplace/GrapImage/'#filedirectoryfiles=[path+iforiinos.listdir(path)]#getfilelistresults=humanseg.segmentation(data={'image':files})#抠图效果如下:左边是原图,右边是黄色剪切后的背景图像。4.文本情感识别在paddlepaddle面前,自然语言处理变得非常简单。要实现文字情感识别,我们还需要安装PaddlePaddle和Paddlehub。具体安装请参考第三部分内容。然后是我们的代码部分:importpaddlehubashubsenta=hub.Module(name='senta_lstm')#loadmodelsentence=[#准备要识别的句子'你好美','你好丑','我好伤心','我不开心','这游戏好玩','什么垃圾游戏',]results=senta.sentiment_classify(data={"text":sentence})#情感识别#输出识别结果forresultinresults:print(result)recognized结果是字典列表:{'text':'Youaresobeautiful','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]5.识别是否戴口罩这里还有一个使用PaddlePaddle的产品。我们按照上面的步骤安装PaddlePaddle和Paddlehub,然后开始写代码:importpaddlehubashub#loadmodelmodule=hub.Module(name='pyramidbox_lite_mobile_mask')#Imagelistimage_list=['face.jpg']#获取图像字典input_dict={'image':image_list}#检测是否戴口罩module.face_detection(data=input_dict)执行以上程序后,工程下会生成detection_result文件夹,识别结果在里面。识别效果如下:6.简单的信息轰炸Python控制输入设备的方法有很多种,我们可以使用win32或者pynput模块。我们可以通过简单的循环操作来达到信息轰炸的效果。这里我们以pynput为例。我们需要先安装模块:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/pynput在写代码之前,我们需要手动获取输入框的坐标:frompynputimportmouse#创建鼠标m_mouse=mouse.Controller#Outputthemousepositionprint(m_mouse.position)可能有更高效的方法,但我不会。获取到之后,我们就可以记录下这个坐标,消息窗口是不动的。然后我们执行下面的代码,将窗口切换到消息页面:importtimefrompynputimportmouse,keyboardtime.sleep(5)m_mouse=mouse.Controller#创建鼠标m_keyboard=keyboard.Controller#创建键盘m_mouse.position=(850,670)#Move鼠标转到指定位置m_mouse.click(mouse.Button.left)#点击鼠标左键while(True):m_keyboard.type('Hello')#Typem_keyboard.press(keyboard.Key.enter)#Pressenter_keyboard.release(keyboard.Key.enter)#releaseentertime.sleep(0.5)#Waitfor0.5seconds我承认这超过了10行代码,并不高端。在使用QQ之前,给小号发消息的效果如下:7.识别图片中的文字我们可以使用Tesseract来识别图片中的文字。用Python实现很简单,但是前期下载文件和配置环境变量有点繁琐。所以本文只展示代码:importpytesseractfromPILimportImageImageimg=Image.open('text.jpg')text=pytesseract.image_to_string(img)print(text)其中text为识别到的文字。如果对准确性不满意,也可以使用百度的通用文本界面。8.绘图功能图像图标是数据可视化的重要工具。在Python中,matplotlib在数据可视化中扮演着重要的角色。下面来看看如何使用matplotlib绘制函数图像:importnumpyasnpfrommatplotlibimportpyplotaspltx=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#显示生成的图片图片如下:9.人工智能以下为独家AI人工智能,一般不公开。这种人工智能可以回答很多问题。当然,人工智能还处于发展阶段,离理解人类语言还有很长的路要走。废话不多说,来看看我们的人工智能Fdj:while(True):question=inputanswer=question.replace('do','do')answer=answer.replace('?','!')打印(回答)让我们来看一个简单的测试:你好吗?我很好!你吃饭了吗?我吃过了!你要睡觉吗?我要去睡觉!看来我们的“小富”还挺聪明的。
