中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Python代碼的編寫

發布時間:2021-10-27 18:47:42 來源:億速云 閱讀:325 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關如何進行Python代碼的編寫,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Python 調用在日常工作中還是非常實用的,只需要Python函數就可以了,如果對Python 代碼不太了解,那就必須先要對下面就對進行學習,下面就對Python 代碼進行系統的分析與研究。

在除去***的、有意義的語句不用而代之以晦澀的、嵌套的表達式的工作后,一個很自然的問題是:“為什么?!”我對 FP 的所有描述都是使用Python 代碼做到的。但最重要的特性 -- 可能也是具體情況中最有用的特性。

它消除了副作用(或者至少對一些特殊領域,例如單一體,有一些牽制作用)。絕大部分程序錯誤 -- 和促使程序員求助于調試來解決的問題 -- 之所以會發生,是因為在程序執行過程期間,變量包含了意外的值。函數程序只不過根本就不為變量分配值,從而避免了這一特殊問題。

讓我們看一段相當普通的命令代碼。它的目的是打印出乘積大于 25 的幾對數字的列表。組成各對的數字本身是從另外兩個列表中挑選出的。這種操作與程序員在他們程序段中實際執行的操作差不多。

實現這一目的的命令方法如下:這個項目太小,以至于沒有什么可能出錯。但我們的目的可能嵌在要同時實現許多其它目的的代碼中。用 "more stuff" 注釋的那些部分是副作用可能導致錯誤發生的地方。

在這些地方中的任何一處,變量 xs 、 ys 、 bigmuls 、 x 、 y 有可能獲得假設節略代碼中的意外值。而且,在執行完這一段代碼后,所有變量都可能具有稍后代碼可能需要也可能不需要的一些值。

很明顯,可以使用函數/實例形式的封裝和有關作用域的考慮來防止出現這種類型的錯誤。而且,您總是可以在執行完變量后 del 它們。但在實際中,這些指出類型的錯誤非常普遍。 目標的函數方法完全消除了這些副作用錯誤。以下是可能的一段代碼:

bigmuls =                       lambda          xs,ys: filter(                      lambda           (x,y):x*y > 25, combine(xs,ys))  combine =                       lambda          xs,ys: map(None, xs*len(ys), dupelms(ys,len(xs)))  dupelms =                       lambda          lst,n: reduce(                      lambda           s,t:s+t, map(                      lambda           l,nn=n: [l]*n, lst))                      print           bigmuls((1,2,3,4),(10,15,3,22))

在示例中,我們將匿名 Python 代碼與名稱進行綁定,但這不是一定必要的。我們可以只嵌套定義。這樣做是出于可讀性目的;但也是因為 combine() 是一種隨處可得的很好實用程序函數(從兩個輸入列表中產生所有元素對的列表)。

隨后的 dupelms() 主要只是幫助 combine() 發揮作用的一種方法。即使這一函數示例比命令示例更冗長,但一旦考慮到實用程序函數可以重用,那么 bigmuls() 中的新代碼本身可能比命令版本中的代碼數量還要少一些。

這種函數示例真正的優勢在于絕對不會有變量更改其中的任何值。稍后的代碼中沒有 可能的不曾預料到的副作用(較早的代碼中也不會有)。很明顯,它本身沒有副作用并不能保證代碼 正確,但即使這樣,這也是個優點。不過請注意,Python 代碼(與許多函數語言不同)

不能 防止名稱 bigmuls 、 combine 和 dupelms 的重新綁定。如果 combine() 在程序的稍后部分中開始有其它意義,則所有努力都前功盡棄。您可以逐步建立一個 Singleton 類來包含這種類型的不可變綁定(例如 s.bigmuls 等);但本專欄并不涉及這一內容。

關于如何進行Python代碼的編寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣威市| 新乡市| 永寿县| 正阳县| 林西县| 兰溪市| 邻水| 通许县| 微山县| 威远县| 美姑县| 常德市| 旅游| 菏泽市| 开化县| 巴青县| 莆田市| 五峰| 江西省| 桓仁| 云霄县| 连州市| 新源县| 九台市| 龙川县| 陆河县| 彭泽县| 七台河市| 永平县| 尚义县| 长顺县| 宜阳县| 汉沽区| 钦州市| 绩溪县| 中江县| 济源市| 亚东县| 瓦房店市| 隆林| 九江县|