棉花糖語法python(棉花糖的寫法)

本文目錄一覽:

python中××表示什麼意思

這是python的語法糖,叫做decorator,相當於decorator模式的語言實現。

前後順序有關係:

prependUnite是@coverMoney + money的decorator

converMoney是money的decorator

python print(‘=’ * 30)是啥意思?

題主你好,

其實這裡面的 “*”號可以用數學裡面的” 乘號 “去理解, ” 乘號 “表示倍數嘛,所以

‘=’ * 30 表示30個’=’.

這其實也算是python里的語法糖吧,要不你想要輸出30個’=’, 要一個個的敲多麻煩,如果代碼中用到1,2個需要輸出多個相同字符的,你一個個的敲還好, 如果有幾十個,甚至上百個,那麼使用:

“字符串” * 重複次數

這種寫法就要省好多事兒了

舉例來說,

如果代碼里就讓你輸出20個a和20個b,則你手敲還可以接受:

print(‘aaaaaaaaaaaaaaaaaaaa’)

print(‘bbbbbbbbbbbbbbbbbbbb’)

但如果你的代碼里有幾十個要輸出的重複字符串, 而且重複的個數還不同,那麼:

print(‘a’ * 20)

print(‘b’ * 20)

這種寫法就要省太多事了,而且還有一個問題,就是如果重複的多了,你還要一個個的數,很多時候會出現多數一個或少數一個的情況.

寫在最後: 上面可能只是出現 ‘字符串’ * 重複次數 這種寫法的其中一個動機, 但明白了這種情況, 應該至少也就明白了它的用法了, 而且以後編碼的時候,再遇到這種需要重複輸出多個相同字符串的場景,會直接聯想到使用 “倍數” 這種寫法, 而不是一個個的字符去敲了.

希望可以幫到題主, 歡迎追問

Python 有哪些好玩的語法糖?

什麼是語法糖?

很多人在Python語法糖相關的問題,但是估計其中有不少同學甚至都不知道語法糖是什麼概念。

其實,它並沒有那麼高大上,如果你跟着正常的學習鏈路把一門編程語言的語法學會,可能你日常開發過程中已經用到了很多語法糖。

在正式回答問題之前,我覺得有必要先解釋一下什麼是語法糖。

語法糖(Syntactic sugar),由英國計算機科學家Peter J. Landin於1964年提出,簡單來說,語法糖是指計算機語言中添加的某種語法,這種語法對語言的功能沒有影響,但是更方便程序員使用。語法糖讓程序更加簡潔,有更高的可讀性。

引用維基百科上的一個例子:

舉一個比較常見的for循環的例子:

滿足同樣的功能和效果,我們可以通過while來實現:

這就是一個簡單的語法糖。

由此可見,語法糖並不是什麼高大上的東西,可能我們現在開發中已經用了很多Python語法糖。

除此之外,語法糖還派生出一些詞彙。例如,語法鹽(syntactic salt),指的是不容易寫出壞代碼的語法特性。語法糖精(syntactic saccharine),或者說語法糖漿(syntactic syrup),指的是未能讓編程更加方便的附加語法。

花了很大功夫來解釋什麼是語法糖,為的就是讓大家更加容易理解、循序漸進,而不是上來就羅列一堆語法糖,很多基礎薄弱的同學不明所以。

講完語法糖的概念,接下來就介紹一些Python中那些好玩的語法糖。

魔法方法(Magic methods),有時也被稱為特殊方法,是一種具有預定義名稱的方法,其特徵是在開頭和結尾處有雙下劃線,例如, init 。

它們之所以是 “魔法”,是因為這些方法是間接調用的,你不需要直接調用它們,一切都在背後完成。

例如,當你實例化一個類 x = MyClass() 時,Python 將調用 new 和 init 進行構造或者初始化。

舉一個簡單的打印字符串的例子:

其實它間接的調用了背後的魔法方法,我們可以來試一下:

可以看出, repr 其實就是綁定到知名的print()方法上了。

除此之外,還有很多常用的魔法方法和我們常用的操作效果相同的:

裝飾器是典型的Python語法糖,通過裝飾器的使用,可以讓Python語法格外簡潔,而且可讀性也很高。

比如,我現在寫了3個函數,並且要統計3個函數的執行時間。

按常規的需要這樣寫:

這樣不僅麻煩,而且有很多冗餘代碼。

這時候,我們就可以實現一個計時的裝飾器,並且在每個函數上通過@裝飾器名來調用:

除此之外,裝飾器還有很多妙用,感興趣的同學可以看看我的另外一篇文章:

如果對裝飾器的基本概念和用法不清楚,我之前也寫過一篇非常受歡迎的回答,需要的也可以看一下:

開發過程中經常會用到比較運算符,比如,要判斷一個變量是否在一個區間內,很多語言需要這樣寫:

在Python中,可以這樣寫:

這樣更符合我們日常使用習慣,也更容易理解。

如果有一個列表或者字典,該如何遍歷?

很多同學估計都會這樣做:

在Python中,可以用更簡潔的方法實現,一行代碼就夠了:

假如有這麼一個數字:

這是多少?

估計很多人開始逐個數零了。

如果接觸過財務或者會計的同學應該知道,有一種千位數字分割樣式,這樣更便於讀取和理解。

在Python中,它提供了一種語法糖可以這樣表示

這種效果和上面這種一樣,但是更加容易理解和讀取。

可以驗證一下:

除了上面這些,Python在字符串、列表、函數等方面還有很多語法糖。

總之,語法糖的目的就是讓程序更加簡潔,有更高的可讀性。這和我們編程過程中一直堅持的思想是一直的,實現一項功能的方法有很多,但是,我們一直在努力讓代碼具有更優秀的擴展性、閱讀性、簡潔性。除了語法糖,我們也可以通過養成良好的編程習慣、學習設計模式等方式來優化我們的代碼。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192381.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 09:57
下一篇 2024-12-01 09:57

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論