致Python初學者的六點建議

2022-06-06 15:33:10 字數 2295 閱讀 9527

python是最容易學習的程式語言之一,其語法近似英語。通常,初學者只會遇到一些小麻煩,如強制縮排、在函式中使用self等。

他們可以自己編寫python**來解決問題,然而在閱讀他人**時往往會遇到問題。

以下是幫助大家更好地理解python的五點建議。

1. * args和 ** kwargs是函式引數

如果您檢視python模組或者這些模組的相關文件,您可能會看到args和**kwargs。它們看起來像c語言裡的指標,實際上並非如此。args只是函式的引數列表。**kwargs是關鍵字引數的字典。

*args示例:

輸出:

**kwargs示例:

輸出:args和kwargs示例的**位於檔案args_example.py,可在此處獲取。

2.列表解析是使用迴圈時的一種快捷方式

列表解析是返回列表的一種簡便方法。在**中,for迴圈寫作for number in args。

當迴圈中的表示式為num **2時,返回的列表值將為引數的平方。

輸出:您可以在列表解析的末尾新增過濾器以過濾輸出結果。例如,僅對偶數進行平方,可以採用如下過濾方式:

輸出:列表解析並未對for迴圈新增任何特殊的功能,採用這種方式是因為它更為簡短,並且在習慣語法後會使**更易於閱讀。不過有些開發者會過度使用列表解析,反而使**更難理解。這一點需要注意,複雜的列表解析和多個迴圈巢狀並非最佳實踐。

如果您剛開始學習python,並遇到乙個複雜的for迴圈,可以在網上搜尋列表解析並檢視如下三個元件的語法:

表示式for迴圈

過濾器3. f-strings可以替代.format()

python非常適合處理字串,至少提供了3到4種將變數插入字串的方法。這些方法大多數都較為笨重,但是有一種非常酷。

字串連線

之前您也許寫過如下**:

輸出:這種寫法難以閱讀,並且容易出現錯誤。即使存在語法高亮,仍會出現缺少空格的情況。

字串替換

字串替換可以幫助減少錯誤。

輸出:使用字串替換的示例位於檔案format_example.py,可在此處獲取。

字串格式

乙個更好的方式是使用.format()方法,如下所示:

儘管.format在字串連線方面有很大地提公升,但處理上仍然很笨重。

f-strings

要使用f-strings,首先需要將python公升級至3.6或3.7版本。

4. lambda函式是匿名的

python lambda函式是一種快捷方式。儘管可以將其指定為某變數,類似於普通函式,但通常情況下使用如下語法寫作匿名函式。

輸出:如同python中的多數快捷方式,lambda函式並不會帶來新的功能。儘管如此,使用此語法可以減少**的複雜程度。

5. 使用裝飾器來擴充套件python函式

使用裝飾器時,通常會在乙個函式上方標註@decorator_name。

裝飾器可以任意命名,例如@panda。在使用裝飾器時,您無需了解如何建立自己的裝飾器以便使用,可以參考django的http裝飾器的相關文件。

import這行**允許您使用預先構建好的裝飾器。在這種情況下,您只需了解@require_http_methods為您建立的函式my_view()新增的額外功能即可。

補充建議

由於我主要和一群專注於特定問題的人討論python程式設計,這裡,我希望得到適用於新手程式設計師的其他建議,以幫助他們更好地在開發者社群進行交流。

致Python初學者 Anaconda入門使用指南

魚心fishstar 打算學習 python 來做資料分析的你,是不是在開始時就遇到各種麻煩呢?相信大多數 python 的初學者們都曾為環境問題而頭疼不已,但你並不孤獨,大家都是這麼折騰過來的。為了在入門時少走彎路,並且讓高漲的積極性不至於太受打擊,這裡推薦使用 anaconda 來管理你的安裝環...

給初學者的建議

一名初學者,首先要找一本好的入門書籍 平台裡有推薦 把程式結構 資料型別,陣列 函式和結構體 這幾個部分了解 了之後,就可以 寫 程式了。千萬不要把書看的太細緻,那樣的話會覺得程式設計太繁瑣,不要背參考書式的學習。就像乙個小孩要學說話,他需要模仿和試錯,不斷的矯正,最終會很好的表達,如果一開始讓他把...

VHDL初學者的建議

1.vhdl語言用於描述硬體,必須體會其 併發執行 的特性以及其他硬體相關特性 2.注意vhdl語言的可綜合性與可 特性 初學者一般是以設計可綜合的vhdl程式為目的,注意vhdl的可綜合性和可 性 3.注意基本模組的vhdl設計方法 對於基本模組的vhdl設計多加練習實踐能快速提公升初學者的vhd...