日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

[云炬ThinkPython阅读笔记]1.6 形式语言和自然语言

發(fā)布時間:2025/3/15 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [云炬ThinkPython阅读笔记]1.6 形式语言和自然语言 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.6 形式語言和自然語言

自然語言 (natural language) 是人們交流所使用的語言,例如英語、西班牙語和法語。它們不是人為設(shè)計出來的(盡管有人試圖這樣做);而是自然演變而來。

形式語言(formal languages) 是人類為了特殊用途而設(shè)計出來的。例如,數(shù)學(xué)家使用的記號(notation) 就是形式語言,特別擅長表示數(shù)字和符號之間的關(guān)系?;瘜W(xué)家使用形式語言表示分子的化學(xué)結(jié)構(gòu)。最重要的是:

編程語言是被設(shè)計用于表達(dá)計算的形式語言。

形式語言通常擁有嚴(yán)格的語法規(guī)則,規(guī)定了詳細(xì)的語句結(jié)構(gòu)。例如,3 + 3 = 6 是語法正確的數(shù)學(xué)表達(dá)式,而 3+ = 3$6 則不是;H2O 是語法正確的化學(xué)式,而 2Zz 則不是。

語法規(guī)則有兩種類型,分別涉及記號 (tokens) 和結(jié)構(gòu)。記號是語言的基本元素,例如單詞、數(shù)字和化學(xué)元素。3+ = 3$6 這個式子的問題之一,就是 $ 在數(shù)學(xué)中不是一個合法的記號(至少據(jù)我所知)。類似的,2Zz 也不合法,因為沒有一個元素的簡寫是 Zz 。

6 第一章 程序之道

第二種語法規(guī)則與標(biāo)記的組合方式有關(guān)。3+ = 3 這個方程是非法的,因為即使 + 和= 都是合法的記號,但是你卻不能把它們倆緊挨在一起。類似的,在化學(xué)式中,下標(biāo)位于 元素之后,而不是之前。

This is @ well-structured Engli$h sentence with invalid t*kens in it. This sentence all valid tokens has, but invalid structure with. 3

當(dāng)你讀一個用英語寫的句子或者用形式語言寫的語句時,你都必須要理清各自的結(jié)構(gòu)

(盡管在閱讀自然語言時,你是下意識地進(jìn)行的)。這個過程被稱為解析 (parsing)。雖然形式語言和自然語言有很多共同點— 標(biāo)記、結(jié)構(gòu)和語法,它們也有一些不同:

歧義性 (ambiguity): 自然語言充滿歧義,人們使用上下文線索以及其它信息處理這些歧義。形式語言被設(shè)計成幾乎或者完全沒有歧義,這意味著不管上下文是什么, 任何語句都只有一個意義。

冗余性 (redundancy): 為了彌補歧義性并減少誤解,自然語言使用很多冗余。結(jié)果, 自然語言經(jīng)常很冗長。形式語言則冗余較少,更簡潔。

字面性 (literalness): 自然語言充滿成語和隱喻。如果我說 “The penny dropped’’,可能根本沒有便士、也沒什么東西掉下來(這個成語的意思是,經(jīng)過一段時間的困 惑后終于理解某事)。形式語言的含義,與它們字面的意思完全一致。

由于我們都是說著自然語言長大的,我們有時候很難適應(yīng)形式語言。形式語言與自然語 言之間的不同,類似詩歌與散文之間的差異,而且更加明顯:

詩歌 (Poetry): 單詞的含義和聲音都有作用,整首詩作為一個整理,會對人產(chǎn)生影響, 或是引發(fā)情感上的共鳴。歧義不但常見,而且經(jīng)常是故意為之。

散文 (Prose): 單詞表面的含義更重要,句子結(jié)構(gòu)背后的寓意更深。散文比詩歌更適合分析,但仍然經(jīng)常有歧義。

程序 (Programs): 計算機程序的含義是無歧義、無引申義的,通過分析程序的標(biāo)記和結(jié)構(gòu),即可完全理解。

形式語言要比自然語言更加稠密,因此閱讀起來花的時間會更長。另外,形式語言的結(jié) 構(gòu)也很重要,所以從上往下、從左往右閱讀,并不總是最好的策略。相反,你得學(xué)會在 腦海里分析一個程序,識別不同的標(biāo)記并理解其結(jié)構(gòu)。最后,注重細(xì)節(jié)。拼寫和標(biāo)點方 面的小錯誤在自然語言中無傷大雅,但是在形式語言中卻會產(chǎn)生很大的影響。

3譯注:上面兩句英文都是不符合語法的,一個包含非法標(biāo)記,另一個結(jié)構(gòu)不符合語法。

總結(jié)

以上是生活随笔為你收集整理的[云炬ThinkPython阅读笔记]1.6 形式语言和自然语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。