大家好呀,我是爷爷的茶七里香,这个名字有没有让你想起周总的那两首歌呢?言归正传,本文将会从环境的搭建教大家一步步完成一个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呢?看下图:
六、总结
有意思吧?当你问它某地的天气情况,它也能回复你哟:
代码可以复制下来自己玩哟,当然你也可以自己加一些逻辑,比如一直循环下去,你就能一直跟它聊天啦!
🥇原创不易,还希望各位大佬支持一下!
👍点赞,你的认可是我创作的动力 !
🌟收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!** **
版权归原作者 提笔忘字的帝国 所有, 如有侵权,请联系我们删除。