當前位置:
首頁 > 最新 > Python編程基礎如何快速入門?「附電子書下載」

Python編程基礎如何快速入門?「附電子書下載」

本文是一位程序員的Python學習心得分享,對於新手來說,如何快速入門始終是個難題。今天我們就來看看他的心得體會,相信會對你有所啟發。

本人使用Python語言將近2年了,這2年的時間就是我自己被Python慢慢侵蝕和折服的2年。

因為從大學開始就一直接觸C語言,也做過一些項目,所以在有一定的編程思維和邏輯的情況下,接觸了Python。我自己深深懂得C/C++語言的邏輯嚴密性和編碼複雜度,尤其想要寫出高質量的C代碼,更是難上加難。

這裡也向大家推薦一本關於C/C++大神修鍊的書《高質量C++》--林銳。但是,Python簡直就是程序員們的福音,它提供了大量方便的標準庫函數,還有第三方庫及開源插件,舉例來說:「AES加密」、「GreyLog」、「Django框架」等等......如果大家有興趣的話,大家可以把這些Python提供的現有模塊,在網上搜索一下,C/C++語言是如何實現這些功能的,絕對讓你大跌眼鏡,不得不被Python的強大所折服。

好了,表達完我對Python滔滔不絕的仰慕之情後,接下來說說我這兩年對於Python學習和使用的一點心得。

一、Python基礎入門

可能對於這個標題,大家可以在網上一搜一大把的信息,什麼基礎語法、環境搭建、變數類型、運算符,還有條件語句,blur,blur,blur......如果大家有一定的語言基礎,比如在大學裡學習過C語言的話,這些都不是問題,不過還請大家不要怪我啰嗦,這裡還是要給一些沒有任何語言基礎,或者把大學裡的知識老早就還給了老師的同學們一點學習的建議。

1、想要了解一門語言,一定要上手練習。

不妨按照網上搜索到的資料安裝部署一套自己的Python開發環境,

並按照這些資料所說的一步一步的調試出一些小程序來,俗話說,熟能生巧,用的多了,也就理解這些基礎語法了;

2、對於Python不得不了解一個概念,那就是「一切皆對象」。

老生常談,如果你有C++的基礎,那麼這個概念就難不倒你,但是如果你還沒有這個概念,那建議親去看看網上的教程,親自調試,親自感受;

3、大家有事沒事去各大論壇或者網站學一學Python有什麼好用的第三方插件或者功能模塊,比如:MySQLdb、Py2exe、BeautifulSoup及PyQuery等等......

這些實用的功能庫,在大家以後的實戰演練中一定能發揮重要作用。

4、另外,給大家推薦兩本基礎知識加固神器,《Python Cookbook(第2版)中文版》,《Python自動化運維 技術與最佳實踐 [劉天斯著][機械工業出版社]》。

二、Python網站框架

1、Django的應用

Django 是由 Python 開發的一個免費的開源網站框架,可以用於快速搭建高性能,優雅的網站!用python的類繼承,幾行代碼就可以擁有一個豐富,動態的資料庫操作介面(API),如果需要你也能執行SQL語句。Django 框架的核心組件有:用於創建模型的對象關係映射;為最終用戶設計的完美管理界面;一流的 URL 設計;設計者友好的模板語言;緩存系統。

另外,推薦一個搭建簡易Django網站框架的網址:

http://www.cnblogs.com/hongten/p/hongten_django_first_app.html

最後,分享一些個人認為項目開發中的重要知識點:

settings.py中有一些重要的基礎配置,如資料庫配置,是否採用csrf_token等;

django使用session前,需要在項目跟目錄下,執行:python manage.py syncdb,;來創建Session存儲表結構;

django調用前端的一些方法:①模板引擎約定的 {{ 變數 }}, {% 代碼段落 %} 表示方法;在

顯示錶單:②{};③{% csrf_token %}

使網頁可以通過csrf認證;

每個瀏覽器中只記錄一套session信息,所以當同一個瀏覽器登陸不同用戶時,session只會記錄最後登陸的用戶信息;

可以採用Ngnix搭載Django實現高並發與系統穩定。

2、Tornado的應用

Tornado 和現在的主流 Web 伺服器框架(包括大多數 Python 的框架)有著明顯的區別:它是非阻塞式伺服器,而且速度相當快。得利於其 非阻塞的方式和對 epoll 的運用,Tornado 每秒可以處理數以千計的連接,這意味著對於實時 Web 服務來說,Tornado 是一個理想的 Web 框架。

我們開發這個Web 伺服器的主要目的就是為了處理 FriendFeed 的實時功能 ——在 FriendFeed 的應用里每一個活動用戶都會保持著一個伺服器連接。

推薦網址:https://segmentfault.com/a/1190000002703321

個人認為,Tornado相對於Django訪問資料庫的速度是慢了一些,因為Tornado是單線程的,這意味著如果資料庫查詢返回過慢,整個伺服器響應會被堵塞。所以在沒有特別高並發的瀏覽訪問的情況下,還是推薦先從Django學習入手。

3、Flask的應用

這是一個輕量級的 Web 應用框架,Flask沒有默認使用的資料庫、窗體驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

推薦網址:http://www.pythondoc.com/flask-mega-tutorial/index.html

個人認為,Flask更適合於小項目的快速開發,但是坑比較多,對你基礎知識的掌握是個考驗。

三、項目經驗

首先要和大家說明一點,我這兩年來做的一些項目都涉及到了公司內部的機密信息,所以就不能在github里和大家分享代碼了。不過我接下來可以和大家交流一下開發心得。

項目開發中,個人認為最重要的事情就是需求的整理和設計文檔的編寫。按照我自己的經驗來說,如果一個項目需要花費三個月的時間,那麼需求的整理和設計文檔的編寫,起碼要佔用一個月甚至一個半月的時間。

1、需求分析

在需求分析階段,我們要做的事情就是大量走訪系統的使用客戶,了解清楚他們有哪些需求點?對於每一個需求點到底有哪些使用場景?各種場景是否有一些極端情況?諸如此類問題,我們參與項目的每個人都要心知肚明,尤其對於項目負責人,更是要在心中了如指掌。了解清楚這些需求點互相之間的關聯,修改或者調整其中一個功能是否會影響整個項目。

另外,對於一個項目的資源分配問題,我認為,一定要讓不同模塊的負責人都十分清楚客戶的需求點,盡量讓每個人知道自己負責的模塊對整個項目的作用和影響。個人先前的經歷,就是蒙頭做自己的東西,做完了也不知道到底有什麼作用(大家有沒有同感呢?)。

2、項目設計

如果大家有機會的話,盡量多多參與項目的設計中。這對於個人把控整個項目的能力是一個極大的提升,另外對個人邏輯思維也是一種鍛煉和挑戰。講真,對整個項目結構把控的能力需要在實戰中慢慢提升,不是一朝一夕的事情,也沒有什麼武功秘籍。但是對於項目設計的一些流程,我還是有經驗可以和大家分享一下的。首先,需求分析要做好;其次,從資料庫設計入手來設計項目架構,從客戶使用場景,模擬出數據流傳輸的流程;

另外,設計文檔要標準規範,能畫圖的流程盡量不要寫字;最後,及時與客戶和組內人員溝通設計流程的可行性,與實施方案的高效性。

3、代碼編寫

具體的代碼的編寫,大家可以參考Goole提供的Python代碼規範,鏈接奉上:http://www.elias.cn/Python/PythonStyleGuide?from=Develop.PythonStyleGuide(希望大家多多練習,注意規範)。好的編程習慣和風格,是減少後續代碼調試甚至返工的有效利器。我認為好的代碼編寫規範要做到三點:統一規範,邏輯簡潔,注釋充分。舉個反例,如果一開始寫代碼就沒有寫好注釋,後來調試的時候,自己都不知道代碼的含義是什麼了,這是非常頭疼的。

4、測試

測試是一件非常考驗耐力的事情,需要把每一個功能點都測到位,即便是很極端的情況,也要造出一些數據來測試,也正是這一點會使得執行測試工作的人員非常煩躁。

但是這樣一份令人煩躁的工作,恰恰保證了後續系統上線的穩定性。不過話又說回來,我們開發一個項目不能總是依賴測試來發現問題,所以之前所說的良好的代碼編寫規範和習慣,就是避免BUG的一種很好的方法。另外,從代碼的角度來講,要想把測試做到位,就要把代碼里的每一個if語句都跑一遍。

5、交付上線

如果上述步驟都能做好,那麼交付使用的話,就會很順利了,否則,你懂得。

6、系統維護

首先版本控制一定要做好,這對問題排查和系統恢復有著很重要的作用;另外,要及時主動的搜集客戶反饋,做好BUG修改和系統優化。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

多迪技術講師帶你了解如何入門Python爬蟲的方法?

TAG:Python |