草庐IT

Python从环境搭建到写出聊天机器人--保姆级教程,深入浅出带图详细流程

提笔忘字的帝国 2023-04-10 原文

目录

🐍环境搭建

一、下载Python

二、安装Python

三、检验Python 

四、下载PyCharm  

 五、安装IDE——PyCharm 

六、激活PyCharm  

七、创建Python程序

🐍正文部分

一、什么是Python? 

二、思路分析

三、准备阶段 

 四、代码实现

五、对代码的解释  

六、总结


大家好呀,我是爷爷的茶七里香,这个名字有没有让你想起周总的那两首歌呢?言归正传,本文将会从环境的搭建教大家一步步完成一个Ai智能回复机器人的制作,只需要这一篇文章哦,环境的搭建也会教大家如何激活使用IDE——PyCharm!认真看完你会有收获的!!!

🐍环境搭建

一、下载Python

我下载的Python版本是3.7.8的,各位可根据自身情况下载,如图:

二、安装Python

安装需要注意的地方:Add Python 3.7 to PATH一定要勾上(不勾选的话需要自己添加环境变量,比较麻烦);看图:

点击Install Now就会自行安装了:

安装完成后关闭即可:

三、检验Python 

好了,到这里我们不确定Python是否成功的安装了,我们可以测试一下;键盘按住win+r快捷键,在弹出的窗口中输入cmd:

然后输入以下命令:(意思是查看下Python的版本,如果能查看到版本说明安装是成功的)

Python -V

  

四、下载PyCharm  

版本需要小伙伴们自行选择哦,PyCharm我使用的版本是2019.3.5的,如图:

 

 五、安装IDE——PyCharm 

 这就是我们要写Python代码的软件啦,下载完成后需要右键使用管理员的方式打开哦:

 

下一步之后安装路径看自己情况来选择(我一般不放在C盘): 

         需要注意的地方:一定要勾选Add launchers dir to the PATH

 

等待安装。。。

到这我们的PyCharm 就安装好啦,下面就开始教大家怎么激活使用PyCharm 

六、激活PyCharm  

网上激活的方式有很多种,例如即将演示无限激活30天的方式;当安装好之后我们需要打开PyCharm,打开之后会有下面这个弹出:

往下走,选择Send Usage Statistics:

选择Skip Remaining and Set Defaults:

  随后会弹出一个主页面,让我们选择右下角的Configure -> Plugins :

 点击右边的一个加(+)号,然后添加地址:

https://plugins.zhile.io

然后搜索IDE Eval Reset这个插件名 :

重启完成后插件就已经安装好了,下面需要创建一个Python项目,进入里面对插件设置一下:

新建一个项目 

选择项目存放的路径然后下一步 

项目创建完成,关闭不必要的提示 

需要对刚刚下载的插件设置一下 

一定要勾选Auto reset before per restart这个选项,不勾选它不会自动重置 

 

 重启完PyCharm你就可以一直使用啦~

七、创建Python程序

给它起个名吧,不要用中文哦!

🐍正文部分

一、什么是Python? 

什么是Python?哈哈~我也不是很清楚啊~咱们看看维基百科怎么说的吧!

Python是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、反射式、结构化和面向对象编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。它的语言结构以及面向对象的方法旨在帮助程序员为小型的和大型的项目编写清晰的、合乎逻辑的代码;

相必大多数人学Python是因为爬虫吧?

二、思路分析

我们如何来实现能聊天的机器人呢?你需要理解一个概念:

客户端发送请求 -> 服务器接受请求 -> 服务器处理请求并响应请求 -> 客户端接受响应

我们有现成的接口可以调用,也就是向服务器端发送请求之后就能获取到对应的数据,这样就达到了跟机器人聊天的目的;如果对接口不了解的可以理解成一个链接,简单的来说就是我们用这个链接发送什么,它就能回复我们什么!!!

三、准备阶段 

发送请求需要的东西:

 既然知道了浏览器可以向服务器发送请求可以获取到响应数据,那么代码中如何实现呢?这就要引入Python提供的一个库——urllib,这个库可以理解成是代码中的浏览器,只是为了方便你理解它,但不要把浏览器的概念用在它身上,我这么说肯定是不对的,也是为了方便小白能理解嘛!!!

两行代码就这样诞生啦:

其中import意思就是导入某个东西的意思,只有导入了我们才能在以下代码中使用它!

响应回来需要的东西: 

浏览器发送请求接受到响应数据之后会进行渲染的相关操作,也就是响应回来后的数据没法直接展示,还需要一些处理,当然在我们的代码接受到响应数据之后也是需要进行相关处理的 ,比如将数据转换成字典类型的数据,这样就能方便我们提取需要的东西,所以我们需要导入这么一个东西:

 四、代码实现

注:# -*- coding:utf-8 -*- 的意思是使用utf-8的编码格式

再看下效果:

有意思吧?代码已经放出来了,自己捣鼓捣鼓吧!!! 

注:# -*- coding:utf-8 -*- 的意思是使用utf-8的编码格式

# -*- coding:utf-8 -*-
# 向服务器发送请求
import urllib.request
# 对中文进行ASCII字符的转换
import urllib.parse
# 可以将字符串转换成字典类型
import json

# 从键盘输入
myStr = input("跟AI说句话吧:")
# 对输入的字转码
text = urllib.parse.quote(myStr)
# 将转码的内容拼接到链接上
url = '{}={}'.format('http://api.qingyunke.com/api.php?key=free&appid=0&msg', text)
# 向服务器发送请求
response = urllib.request.urlopen(url)
# 读取响应数据并转换成utf-8编码
responses = response.read().decode("utf-8")
# 转换成字典类型
responseText = json.loads(responses)
# 从字典类型取出键为content的值并打印输出
print(responseText["content"])

五、对代码的解释  

1、为什么要转码呢?

答:如果你输入的是英文的话是可以不需要进行转码的,但是中文的话需要进行转码,不然AI识别不出来你发的是啥!

2、为什么要将响应数据转换成utf-8编码?

答:不转换成utf-8编码的话读取的将会是乱码,后续也无法转换成字典类型

3、responseText["content"]是个啥?

 答:问这个问题的同学说明对Python的数据类型不了解,这是对Python中的字典类型取值的操作,那为啥双引号里面写的是content呢?看下图:

六、总结

 有意思吧?当你问它某地的天气情况,它也能回复你哟:

代码可以复制下来自己玩哟,当然你也可以自己加一些逻辑,比如一直循环下去,你就能一直跟它聊天啦!

🥇原创不易,还希望各位大佬支持一下!

👍点赞,你的认可是我创作的动力 !

🌟收藏,你的青睐是我努力的方向!

✏️评论,你的意见是我进步的财富! 

有关Python从环境搭建到写出聊天机器人--保姆级教程,深入浅出带图详细流程的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  3. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  4. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  5. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  8. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  9. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  10. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

随机推荐