搜尋

Python學習法則

Aug 03, 2017 pm 05:48 PM
python學習

Python上手很容易, 基本有其他語言程式設計經驗的人可以在1週內學會Python最基本的內容.

它們包括:

1.常用內建型別(int, float, bool, bytes, str, list, dict, set)的使用.

#2.分支if-else 循環while 迭代for的語法.

#3.def定義函數, 呼叫函數.

你再花1週學習些:

1.類別

2.異常

此時, 有些人就在履歷中得意的自稱"會" Python了.

但是學到如此程度, 在實際編程中會經常遇到挫折, 主要源自理解不夠深入, 僅僅Python語法和API層面體驗了一下.

#隨意列舉一些新手普遍存在的問題:

1.不了解Python物件模型, 變數名稱, 物件概念含混.

2.不了解可變物件與不可變物件, 尤其是int.

3.不了解切片意味著拷貝, 在循環中大量使用, 影響效率.

#4.不了解切片是淺拷貝還是深拷貝.

5.遇到bytes和str(2.7中的str和unicode)就頭暈.

6.經常在需要使用is的場景使用= =.

7.不了解def是運行時執行語句, 並且是賦值語句.

8.類別屬性與實例屬性混淆.

9.不了解在函數中修改可變物件參數會對呼叫者產生影響, 導致莫名其妙錯誤.

10.企圖在函數中修改全域變數, 沒有使用global, 而創建了本地變數.

#11.以可變物件做函數預設參數.


擁有某項技能的程式設計師的價值, 可以用學習技能所需的成本來衡量.你用2週學習達到的這種程度, 對於企業就是沒有價值的, 因為老闆可以讓一個公司裡任意其他語言的程式設計師經過2-3週的學習就能達到你現在的程度.Python的簡潔易用, 快速開發對專案有價值, 但這不是你的價值, 是Python的價值.所以提高自身價值, 也就是不讓別人輕易追上你. 以極低的成本替代你.


#你只能快跑, 進一步學習, Python語言層面還需要學習下面一些內容:

1.使用生成器, 迭代器

2.函數式程式設計, 匿名函數lambda, map, reduce , filter

3.列表解析, 字典解析, 集合解析, 產生器解析

4.運算子重載(__setattr__, __getattr__, __getitem__, __gt__, __lt__. ..)

5.property, 描述子(__get__, __set__, __delete__)

6.上下文管理器(__enter__, __exit__)

7.深入理解物件導向


上述都是語言層面的,屬於內功.實戰當然也需要一些更為具體的外功, 訓練外功可以從熟悉Python標準庫開始, 這些模組能進入標準庫說明他們足夠好並且在實際項目中足夠常用, 列舉一些極為常用的:

1.正規表示式re

2.迭​​代工具itertools

3.常用資料結構collections, heapq, array

4.處理二進位資料struct

5.隨機random

6.系統呼叫os

7.Python物件序列化pickle

8.多行程多執行緒處理threading, multiprocessing

#9.網路socket, urllib

10 .系統參數sys


無論練習內功或外功,結合實戰都是最好的訓練方式和檢驗手段, 可以根據個人情況以及喜好選擇, 如:

1.使用django, flask開發網站.

2.開發網路爬蟲或使用Python爬蟲框架(如scrapy).

3.寫一些自動化維運腳本, 定時讀取某軟體log, 出現異常自動發送郵件.

4.使用selenium對網站進行測試.

5.使用Python開發樹莓派小車(電機,感測器驅動).

6.使用Python開發Vim插件, 如在vim中做一個音樂播放器.

7.使用Python做演算法題, 如leetcode.

#8.opencv做圖像識別.

9.使用numpy和pandas做資料處理.

10.使用機器學習函式庫sklearn, tensorflow做應用程式.

11.使用PyQt寫桌面應用程式.

#12.使用scipy, matplotlib做科學計算.

13.使用Python做滲透測試.

##..... .


個人建議選擇小項目進行實踐, 有些新手上來就想定一個大目標, 做的時候很挫折, 往往半途而廢.把小東西先實現, 然後優化. 接下來新增功能, 慢慢迭代把小東西做大. 這樣在做的時候,每實現一個小功能你都會有成就感, 激勵繼續前進.


可能經過比較漫長的一段時間, 你成為了一個熟練的Python應用程式設計師, 還有些高級話題可以繼續學習:

1.裝飾器

2.元類別

這些高階主題在開發框架中經常使用, 它們可以幫你創建更靈活的程式碼.


通常自稱一個月光速學了會Python的人基本上都不是天才, 只是浮躁, 目標定的比較低而已.

不要太過急功近利, 慢慢玩, 精進.

如果你覺著程式設計有趣, 成長也就不再痛苦, 祝學習愉快.

以上是Python學習法則的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您如何將元素附加到Python數組?您如何將元素附加到Python數組?Apr 30, 2025 am 12:19 AM

Inpython,YouAppendElementStoAlistusingTheAppend()方法。 1)useappend()forsingleelements:my_list.append(4).2)useextend()orextend()或= formultiplelements:my_list.extend.extend(emote_list)ormy_list = [4,5,6] .3)useInsert()forspefificpositions:my_list.insert(1,5).beaware

您如何調試與Shebang有關的問題?您如何調試與Shebang有關的問題?Apr 30, 2025 am 12:17 AM

調試shebang問題的方法包括:1.檢查shebang行確保是腳本首行且無前置空格;2.驗證解釋器路徑是否正確;3.直接調用解釋器運行腳本以隔離shebang問題;4.使用strace或truss跟踪系統調用;5.檢查環境變量對shebang的影響。

如何從python數組中刪除元素?如何從python數組中刪除元素?Apr 30, 2025 am 12:16 AM

pythonlistscanbemanipulationusseveralmethodstoremovelements:1)theremove()MethodRemovestHefirStocCurrenceOfAstePecificiedValue.2)thepop()thepop()methodRemovesandReturnturnturnturnsanaNelementAgivenIndex.3)

可以在Python列表中存儲哪些數據類型?可以在Python列表中存儲哪些數據類型?Apr 30, 2025 am 12:07 AM

pythonlistscanstoreanydatate型,包括素,弦,浮子,布爾人,其他列表和迪克尼亞式

在Python列表上可以執行哪些常見操作?在Python列表上可以執行哪些常見操作?Apr 30, 2025 am 12:01 AM

pythristssupportnumeroferations:1)addingElementSwithAppend(),Extend(),andInsert()。 2)emovingItemSusingRemove(),pop(),andclear(),and clear()。 3)訪問andModifyingandmodifyingwithIndexingandSlicing.4)

如何使用numpy創建多維數組?如何使用numpy創建多維數組?Apr 29, 2025 am 12:27 AM

使用NumPy創建多維數組可以通過以下步驟實現:1)使用numpy.array()函數創建數組,例如np.array([[1,2,3],[4,5,6]])創建2D數組;2)使用np.zeros(),np.ones(),np.random.random()等函數創建特定值填充的數組;3)理解數組的shape和size屬性,確保子數組長度一致,避免錯誤;4)使用np.reshape()函數改變數組形狀;5)注意內存使用,確保代碼清晰高效。

說明Numpy陣列中'廣播”的概念。說明Numpy陣列中'廣播”的概念。Apr 29, 2025 am 12:23 AM

播放innumpyisamethodtoperformoperationsonArraySofDifferentsHapesbyAutapityallate AligningThem.itSimplifififiesCode,增強可讀性,和Boostsperformance.Shere'shore'showitworks:1)較小的ArraySaraySaraysAraySaraySaraySaraySarePaddedDedWiteWithOnestOmatchDimentions.2)

說明如何在列表,Array.Array和用於數據存儲的Numpy數組之間進行選擇。說明如何在列表,Array.Array和用於數據存儲的Numpy數組之間進行選擇。Apr 29, 2025 am 12:20 AM

forpythondataTastorage,choselistsforflexibilityWithMixedDatatypes,array.ArrayFormeMory-effficityHomogeneousnumericalData,andnumpyArraysForAdvancedNumericalComputing.listsareversareversareversareversArversatilebutlessEbutlesseftlesseftlesseftlessforefforefforefforefforefforefforefforefforefforlargenumerdataSets; arrayoffray.array.array.array.array.array.ersersamiddreddregro

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。