91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python的8個語法分別是什么

發布時間:2021-12-04 10:21:26 來源:億速云 閱讀:143 作者:柒染 欄目:網絡管理

Python的8個語法分別是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

那作為通用編程語言,Python為何更勝一籌?

近年來,Python 更是橫掃了各大語言排行榜。在世界腳本語言排行榜中,Python 強勢登頂;在 TIOBE 編程語言排行榜中,Python 地位也在逐月攀升,越來越受廣大開發者的歡迎。對比長盛不衰的 Java、C、C++,后起之秀 Python 深受好評。

Python的8個語法分別是什么

在 TIOBE 編程語言排行榜中,Python 也緊隨 Java、C、之后,在開發者最喜愛的編程語言中位居第三名。

同樣作為通用編程語言,不可避免要分出個一二三四來。那么 Java、C、C++ 以及 Python 比起來,誰能獨領風騷?誰又略輸一籌?

雖然目前來講,Java 語言仍然傲視群雄,但是通過以上的對比可以發現,即使與 Java、C、C++ 這三個老牌語言相比,Python 也顯得游刃有余,甚至隱隱有后來居上的意味。

所以,進入2018年之后,Python幾乎成為編程語言界的"網紅",無論是使用人數還是受歡迎程度,都在各項榜單中飆升。5月,Python在PYPL指數榜中的超越Java,首次奪冠。

如果把PYPL編程語言人氣指數的時間軸拉長,Python在近十幾年的時間里,幾乎一直都是"牛市"。

我們都知道Python容易入門且用途廣泛,同時我們也可以用Python做一些意想不到的事情……這篇文章的目的在于幫助小伙伴們全面了解Python,僅此而已……

下面,我就來介紹下鮮為人知的一些Python語法:(這些代碼玩玩就好,不要在線上寫這樣的代碼,切記,切記.)

1、使用 lambda 表達式重寫多行函數

眾所周知 python 的 lambda 表達式不支持多行代碼。但是可以模擬出多行代碼的效果。

Python的8個語法分別是什么

雖然看起來很奇怪,但是上面的函數可以使用下面的 lambda 表達式函數代替:

Python的8個語法分別是什么

始終記著,永遠別在生產環境寫這樣的代碼 :)不然會被打死。

2、替換方法字節碼

Python 阻止替換類實例中的方法,因為 python 給類實例中的方法賦予了只讀屬性:

Python的8個語法分別是什么

但是可以在字節碼的層面上進行替換:

Python的8個語法分別是什么

注意! 這不僅對當前的實例有影響,而且對整個類都有影響(準確的說是與這個類綁定的函數)(譯者注:此處應該是筆誤,推測作者原意是:準確的說是與這個函數綁定的所有類),并且所有其他的實例也會受到影響:

Python的8個語法分別是什么

3、三元運算符

現代的 python 提供了更簡便的語法:

b if a else c

也可以通過下面的方式重寫:

(a and [b] or [c])[0](b, c)[not a]

順便說一下,下面的變體是錯誤的:

a and b or cTrue and [] or [1] -> [1], but: [] if True else [1] -> []

4、通過列表推導式移除重復的元素.

讓我們來把字符串 x = 'tteesstt' 轉換成 'test' 吧。

1、在原字符串中和上一個字符比較:

''.join(['' if i and j == x[i-1] else j for i,j in enumerate(x)])

2、把前一個字符保存到臨時變量中:

Python的8個語法分別是什么

3、在新字符串中和上一個字符比較:

[(not r.endswith(i) and [r for r in [r+i]], r)[-1] for r in [''] for i in x][-1]

4、通過 reduce 函數和 lambda 表達式:

reduce(lambda a, b: a if a.endswith(b) else a + b, x)

5、通過列表推導式獲得斐波拉契數列

把中間值保存在列表中

Python的8個語法分別是什么

把中間值保存到字典中:

Python的8個語法分別是什么

通過 reduce 函數和 lambda 表達式:

Python的8個語法分別是什么

速度最快的變體:

Python的8個語法分別是什么

6、使用列表推導式產生死循環

[a.append(b) for a in [[None]] for b in a]

7、列表切片技巧

復制列表:

Python的8個語法分別是什么

移除/替換 列表中的任意元素:

Python的8個語法分別是什么

在列表的開頭添加元素:

Python的8個語法分別是什么

在列表的尾部添加元素:

Python的8個語法分別是什么

反轉列表:

Python的8個語法分別是什么

8、讓可變元素作為函數參數默認值

把可變對象作為函數參數的默認值是非常危險的一件事,并且在面試中有大量關于這方面棘手的面試問題。但這一點對于緩存機制非常有幫助。

1. 階乘函數:

Python的8個語法分別是什么

2.斐波拉契數列:

Python的8個語法分別是什么

總結:

Python由于語法簡潔,功能強大,且在人工智能、大數據方面展現出效率優勢,越來越受到歡迎。

Python把其他語言做了一個封裝,調用其他語言做的包。很多的數據科學家其實是不希望學習過于復雜的編程語言的。把他們關于數據方面處理的智慧封裝起來,通過Python來調用,這樣會方便很多。這也是為什么Python這幾年這么流行的原因。

關于Python的8個語法分別是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

黔西县| 宜丰县| 北碚区| 广安市| 滨州市| 新巴尔虎左旗| 涡阳县| 赞皇县| 曲靖市| 双鸭山市| 察哈| 驻马店市| 霸州市| 通州市| 开江县| 蒲城县| 邯郸市| 准格尔旗| 绥宁县| 石门县| 永州市| 渝北区| 蓬安县| 盈江县| 雅江县| 萍乡市| 伊春市| 吐鲁番市| 康乐县| 大邑县| 塔河县| 噶尔县| 东源县| 突泉县| 彭山县| 杭锦后旗| 元谋县| 东山县| 永平县| 河北省| 淮滨县|