请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

禁宠小妻 逃婚妈咪 人工智能时代,我用Python写了一个智能机器人来聊天,非常不错! 铁血南唐 世界天皇

[复制链接]
查看: 524|回复: 0

198

主题

440

帖子

851

积分

等待验证会员

积分
851
发表于 2019-4-13 16:45 | 显示全部楼层 |阅读模式

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164526aebideb1zdffizzc


野生智能已是趋向,智能酒店,智能网吧,无人驾驶等等都已经实现,过不了多久,就会提高我们的生活圈子;一样,智能时代的到临意味着很多人将会面临失业。我们要随着时代的成长进步,这样,我们才不会被时代所抛弃,所淘汰!
而作为野生智能的首选说话——python
将会是我们进修的首选方针;有人说过一句话:
在近后的社会中,不会python的人将会被列为新“文盲”! 而且python也是最合适没有任何编程说话根本的人进修!所以我起头了python的进修之旅!
只要你找对步调,找对方式,认真进修!相信我,很快你就能学会!
好了,明天小编给大师带来的是写一个智能的机械人:
一. 分解一下天生器工具
先看一个简单的例子,我们建立一个天生器函数,然后天生一个天生器工具

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164526s9kk22vuzbugfbce


野生智能时代,我用python写了一个智能机械人来聊天,很是不错!
暗示G是一个天生器工具,我们来分解一下,里面到底有什么
print dir(G)

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164526fcfhpfodgcznqxh5


大师留意看有4个很特别的函数close(),next(),send(),throw(),next()函数前面两篇文章讲过了,我就不再说.明天我们就重点来说说send(),throw(),close()函数
二. 什么是协程
Python的协程有点类似线程,可以以为协程是一种用户级的轻量级线程大概微线程,可以运转多个函数,让这几个函数看起来似乎是在同一时候运转,可是比线程有一些优点,比如不用大量占内存,开销小,也不用斟酌线程平安.(关于什么是线程前面文章会讲)
1.send()函数
send()用于传递参数,实现与天生器的交互,当法式运转到receive=yield的时辰 就会被挂起,期待天生器挪用send方式,这个时辰内部挪用send函数,发送数据变量进来,数据变量就会传递到received
示例代码:

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164526j5ffmwgbhmzimlih


a).echo函数里面一个死循环,里面有一行关键的代码,receive=yield 这个就是send函数从内部发送过来的进口.
b).内部函数一路头要天生一个天生器工具也就是Echo=echo()
c).然后很关键的一步就是next(Echo),一定要挪用一次next函数,让天生器推动到第一条yield表达式何处
d).接下来我们便可以把yield操纵和send操纵连系起来,可以获得外界所输入的数据,然后用一套流程去停止处置
2.throw()函数
throw主如果向天生器发送一个异常,可以竣事系统界说的异常(固然包括自界说的异常)
示例代码:

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164526zozbn4ynbvv9vovf


a).建立天生器工具G
b),履行next(G)并打印成果,我们会获得第一个yield里缓存的成果'First', 而且逗留在yield 'Second'之前
c).抛出一个异常类ValueError(留意ValueError是类不是字符串),当天生器收到 异常间接跳过 yield 'Second'进入except部分,打印出'Catch the TypeError'
d).履行next(G)并打印成果,我们会回到while头部,而且消耗掉第一个yield 'Frist',履行yield 'Second'
3.close()函数
close用于停止天生器,假如停止以后再挪用next,就会激发StopIteration毛病
示例代码:

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164527ip5nos4q5t6nq6qt


当天生器工具Echo挪用完close()以后,再挪用send('123')就会抛出一个异常StopIteration,然后被我们捕捉到了
三. 实战利用-迷你聊天机械人
讲了这么多,大师能否是有点晕,
天生器自己就是Python里面最复杂的概念之一,有同学答辩道还有之二(是的,就是装潢器)
,我们用协程写一个小的聊天机械人吧~~
1).建立一个聊天机械人天生器函数,可以以为是背景的一个线程函数

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164527g64xmgpdnbals4ba


2).前台不竭的获得用户的输入,然后操纵协程发送给背景处置

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164527knz2onn27s2a722o


看一下运转的结果

野生智能时代,我用Python写了一个智能机械人来聊天,很是不错!

人工智能时代,我用Python写了一个智能机器人来聊天,非常不错!  科技资讯 164527ft5c8z3l6uzkem4s


我自己是一位处置了多年开辟的Python老法式员,告退今朝在做自己的Python私人定制课程,今年年头我花了一个月整理了一份最合适2019年进修的Python进修干货,从最根本的到各类框架都有整理,送给每一位喜好Python小伙伴,固然还有明天的源码。获得方式:关注!转发!最初记得然后私信小编【01】即可。

感谢您的阅读
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 快猫网-人工智能和智能硬件领域的互联网科技媒体 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表