偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

人工智能時(shí)代,我用Python寫(xiě)了一個(gè)智能機(jī)器人來(lái)聊天,非常不錯(cuò)!

開(kāi)發(fā) 后端 機(jī)器人
人工智能已是趨勢(shì),智能酒店,智能網(wǎng)吧,無(wú)人駕駛等等都已經(jīng)實(shí)現(xiàn),過(guò)不了多久,就會(huì)普及我們的生活圈子;同樣,智能時(shí)代的來(lái)臨意味著很多人將會(huì)面臨失業(yè)。我們要跟著時(shí)代的發(fā)展前進(jìn),這樣,我們才不會(huì)被時(shí)代所拋棄,所淘汰!

[[253842]]

人工智能已是趨勢(shì),智能酒店,智能網(wǎng)吧,無(wú)人駕駛等等都已經(jīng)實(shí)現(xiàn),過(guò)不了多久,就會(huì)普及我們的生活圈子;同樣,智能時(shí)代的來(lái)臨意味著很多人將會(huì)面臨失業(yè)。我們要跟著時(shí)代的發(fā)展前進(jìn),這樣,我們才不會(huì)被時(shí)代所拋棄,所淘汰!

而作為人工智能的***語(yǔ)言——python

將會(huì)是我們學(xué)習(xí)的***目標(biāo);有人說(shuō)過(guò)一句話(huà):

在近后的社會(huì)中,不會(huì)python的人將會(huì)被列為新“文盲”! 而且python也是最適合沒(méi)有任何編程語(yǔ)言基礎(chǔ)的人學(xué)習(xí)!所以我開(kāi)始了python的學(xué)習(xí)之旅!

只要你找對(duì)步驟,找對(duì)方法,認(rèn)真學(xué)習(xí)!相信我,很快你就能學(xué)會(huì)!

這里,小編給大家準(zhǔn)備的一份很適合零基礎(chǔ)入門(mén)學(xué)習(xí)資料提供給想學(xué)習(xí)的人,當(dāng)然還有今天的源碼

好了,今天小編給大家?guī)?lái)的是寫(xiě)一個(gè)智能的機(jī)器人:

一. 剖析一下生成器對(duì)象

先看一個(gè)簡(jiǎn)單的例子,我們創(chuàng)建一個(gè)生成器函數(shù),然后生成一個(gè)生成器對(duì)象

人工智能時(shí)代,我用python寫(xiě)了一個(gè)智能機(jī)器人來(lái)聊天,非常不錯(cuò)!

表示G是一個(gè)生成器對(duì)象,我們來(lái)剖析一下,里面到底有什么

print dir(G)

大家注意看有4個(gè)很特殊的函數(shù)close(),next(),send(),throw(),next()函數(shù)前面兩篇文章講過(guò)了,我就不再說(shuō).今天我們就重點(diǎn)來(lái)說(shuō)說(shuō)send(),throw(),close()函數(shù)

二. 什么是協(xié)程

Python的協(xié)程有點(diǎn)類(lèi)似線(xiàn)程,可以認(rèn)為協(xié)程是一種用戶(hù)級(jí)的輕量級(jí)線(xiàn)程或者微線(xiàn)程,可以運(yùn)行多個(gè)函數(shù),讓這幾個(gè)函數(shù)看起來(lái)好像是在同一時(shí)間運(yùn)行,但是比線(xiàn)程有一些優(yōu)點(diǎn),比如不用大量占內(nèi)存,開(kāi)銷(xiāo)小,也不用考慮線(xiàn)程安全.(關(guān)于什么是線(xiàn)程后面文章會(huì)講)

1.send()函數(shù)

send()用于傳遞參數(shù),實(shí)現(xiàn)與生成器的交互,當(dāng)程序運(yùn)行到receive=yield的時(shí)候 就會(huì)被掛起,等待生成器調(diào)用send方法,這個(gè)時(shí)候外部調(diào)用send函數(shù),發(fā)送數(shù)據(jù)變量進(jìn)來(lái),數(shù)據(jù)變量就會(huì)傳遞到received

示例代碼:

a).echo函數(shù)里面一個(gè)死循環(huán),里面有一行關(guān)鍵的代碼,receive=yield 這個(gè)就是send函數(shù)從外部發(fā)送過(guò)來(lái)的入口.

b).外部函數(shù)一開(kāi)始要生成一個(gè)生成器對(duì)象也就是Echo=echo()

c).然后很關(guān)鍵的一步就是next(Echo),一定要調(diào)用一次next函數(shù),讓生成器推進(jìn)到***條yield表達(dá)式那邊

d).接下來(lái)我們就可以把yield操作和send操作結(jié)合起來(lái),可以獲取外界所輸入的數(shù)據(jù),然后用一套流程去進(jìn)行處理

2.throw()函數(shù)

throw主要是向生成器發(fā)送一個(gè)異常,可以結(jié)束系統(tǒng)定義的異常(當(dāng)然包括自定義的異常)

示例代碼:

a).創(chuàng)建生成器對(duì)象G

b),執(zhí)行next(G)并打印結(jié)果,我們會(huì)得到***個(gè)yield里緩存的結(jié)果'First',并且停留在yield 'Second'之前

c).拋出一個(gè)異常類(lèi)ValueError(注意ValueError是類(lèi)不是字符串),當(dāng)生成器收到異常直接跳過(guò) yield 'Second'進(jìn)入except部分,打印出'Catch the TypeError'

d).執(zhí)行next(G)并打印結(jié)果,我們會(huì)回到while頭部,并且消耗掉***個(gè)yield 'Frist',執(zhí)行yield 'Second'

3.close()函數(shù)

close用于停止生成器,如果停止之后再調(diào)用next,就會(huì)引發(fā)StopIteration錯(cuò)誤

示例代碼:

 

當(dāng)生成器對(duì)象Echo調(diào)用完close()之后,再調(diào)用send('123')就會(huì)拋出一個(gè)異常StopIteration,然后被我們捕捉到了

三. 實(shí)戰(zhàn)應(yīng)用-迷你聊天機(jī)器人

講了這么多,大家是不是有點(diǎn)暈,

生成器本身就是Python里面最復(fù)雜的概念之一,有同學(xué)問(wèn)難道還有之二(是的,就是裝飾器)

,我們用協(xié)程寫(xiě)一個(gè)小的聊天機(jī)器人吧~~

1).創(chuàng)建一個(gè)聊天機(jī)器人生成器函數(shù),可以認(rèn)為是后臺(tái)的一個(gè)線(xiàn)程函數(shù)

2).前臺(tái)不斷的獲取用戶(hù)的輸入,然后利用協(xié)程發(fā)送給后臺(tái)處理

看一下運(yùn)行的效果

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2023-07-27 14:38:58

人工智能機(jī)器人開(kāi)發(fā)

2021-01-28 19:34:49

人工智能AI機(jī)器人

2022-09-30 13:55:46

Python機(jī)器人

2019-01-25 16:30:34

機(jī)器人機(jī)器學(xué)習(xí)人工智能

2024-07-01 07:35:11

2019-04-19 14:40:15

代碼Python機(jī)器人

2023-09-28 20:57:23

Meta人工智能聊天機(jī)器人

2020-01-09 11:24:37

人工智能技術(shù)機(jī)器人

2017-03-11 11:19:43

機(jī)器人取代人類(lèi)

2023-10-18 15:23:47

人工智能聊天機(jī)器人

2021-03-08 08:00:00

人工智能機(jī)器人醫(yī)療

2021-07-15 17:32:21

機(jī)器人人工智能AI

2023-05-22 19:16:09

人工智能機(jī)器人

2023-08-30 11:23:21

人工智能機(jī)器人技術(shù)

2022-05-07 10:52:28

人工智能機(jī)器人道德風(fēng)險(xiǎn)

2022-07-28 11:26:41

人工智能機(jī)器人

2022-07-05 11:32:16

人工智能機(jī)器人心理健康

2021-10-11 08:51:11

人工智能AI機(jī)器人

2024-01-22 10:05:13

人工智能

2022-12-06 10:01:45

人工智能機(jī)器人廚師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)