您好,登錄后才能下訂單哦!
自學python語言需要注意哪些?隨著python語言的火熱發展,很多人都想學python,而對于想自己學python的人,小編總結了幾點建議,希望看完這篇文章你能有所收獲。
1. 了解新語言產生的背景
ABC 是專門為非專業程序員設計的一種教學語言,但是由于其封閉,并未取得成功。1989年的圣誕節期間,吉多·范羅蘇姆開發了一個新的腳本解釋器,并命名為 Python,作為 ABC 語言的一種繼承。新的腳本解釋器開放,完美結合了 Unix Shell 和 C 的使用習慣。
2. 了解新語言應用的場景
· 網站后臺
有大量成熟的框架,如Django,Flask,Tornado
· 網絡爬蟲
Python 寫爬蟲有很多庫可用,如Scrapy,Beautiful Soup
· 科學計算
可以替代 R 語言和 Matlab,如 NumPy, SciPy, Matplotlib, Pandas
·數據挖掘,機器學習,大數據
Scikit-learn,Libsvm,TensorFlow
· 系統部署,運維腳本
Shell 適合簡單的系統管理工作,但涉及復雜的自動化任務還是需要 Python。
3. 了解新語言的特點
Python 的設計哲學是:優雅、明確、簡單。Python 的開發哲學是:用一種方法,最好是只有一種方法來做一件事,有些類似 Unix。與其他語言非常不一樣的是,Python 以縮進來確定語句塊。
Python 是一門面向對象的動態、解釋型語言,具有出色的模塊化特性。同時,Python 擁有大量的第三方開源包,可以直接使用,極大地提高了開發效率。Python 編寫的代碼,可讀性強,特別適合多人大型項目的開發。但是 Python 的執行效率比不上 C/C++ 這類編譯型語言。
4. 學習新語言的數據結構
Python 中內置類型有整型 int,浮點型 float,布爾型 bool,字符串 str,列表 list,元組tuple,字典 dict,集合 set。與 C 不同的是,Python 并不依賴于關鍵字定義各種類型。Python 是動態強類型語言,是通過運行時,自動選擇合適的數據類型。字符串、列表、元組、集合、字典等復雜數據類型,并不是 C 語言的內置類型。
5. 學習新語言的邏輯結構
if 條件判斷結構
condition = 1if condition == 1:
print 1elif condition == 2:
print 2else:
print 3
for 循環結構
items = ['item1', 'item2', 'item3']for item in items:
print item
while 循環結構
sum, n = 0, 10while n > 0:
sum = sum + n
n = n - 2print sum
Keywords: if; for; while;
6. 學習定義一個獨立模塊
定義函數
def function_name(x):
return -x
定義類
class ClassName: #經典類、舊類
def __init__(self):
pass
class NewClassName(object): #新類
def __init__(self):
pass# 在多繼承中,新式類采用廣度優先搜索,而舊式類是采用深度優先搜索。
定義包:
Python 中定義一個包,只需要在文件夾里面,創建一個 __init__.py文件即可,如:
mypackage/__init__.py
mypackage/test.py
mypackage/views.py
那么在其他文件中,就可以通過from mypackage import views的語法,從 mypackage 這個包里面導入 views 。
7. 做一個小的項目
嘗試完成一次領域實踐,是對這個領域最佳的入門方式。學習一門新的編程語言,成長最快的階段在,利用這門編程語言完成項目需求期間。
Django 是一個十分優秀的 Python 寫的 Web 程序框架,廣泛用于數據驅動類的網站開發。Django 是一個大而全的開發框架,基本不需要額外的第三方配置,就可以快速地進行開發。
筆者的小項目需求是:利用二維碼掃碼,查看在線簡歷。
確定項目需求之后,會迎來一個手足無措的時期,不知道從哪里著手開始做項目。如果有一個過來人指導一下,那么很快就能開始編碼了。不幸的是,筆者當時身邊并沒有這樣一個人。在網上查閱資料后,最終選定了Jquery 、Foundation、Django 實現這個項目。
實際上,筆者在此之前一直在寫 C++ 程序,并沒有 Python 的編程基礎,僅僅是因為這個小項目,選定的技術棧后臺使用的是 Django ,才開始學習 Python。
除了掌握項目使用到的技術棧,在完成項目的過程中,還可以解鎖調試技能、通過搜索引擎解決各種程序問題的能力。
為了完成這個小項目,需要走出舒適區,突破原有的技術棧,最終獲得快速的技術成長。
8. 學習使用庫完成任務
通常,發布者會將使用頻率高、可以復用的功能,打包成庫,提供給大家共同使用。
庫可以分為兩類:
一種是官方的庫,通常質量比較高、會維護更新;
一種是第三方的庫,質量參差不齊,需要自己甄別。
例如,Django 中提供了 from django.views.decorators.http import require_POST 裝飾器用于確保 view 函數的請求方法是 POST。使用這個裝飾器可以簡化 view 函數中的條件判斷,有利于編寫簡潔易讀的代碼。當然 ,Django 還有大量的第三方 App可以下載使用,直接提供一個完整功能。
在項目開發的過程中,合理地使用庫會起到錦上添花的效果。
9. 學習組織代碼結構
研究怎樣更好的組織項目的代碼是一門管理科學。筆者之前也寫過相關的文章
討論了 Django 工程的目錄組織結構。
好的項目代碼結構需要學習一些高關注度的開源項目的經驗,也需要注意輸出,成為大家共同的標準,共同維護,產生影響力。
10. 學習讓代碼易維護
代碼維護分為兩類:
· Bug 易修復,需要代碼具有良好的命名習慣、注釋、日志輸出,實現相同的功能編寫盡量少的代碼
· 新功能的擴展,通常是在原有邏輯上,創建新的分支。這類分支又可以分為代碼級別和常量級別。我們需要的是通過常量的配置擴展新功能,而減少代碼級別的修改
11. 提高代碼復用率
隨著使用新語言年限的增長,參與項目的增多,會出現一個顯而易見的問題:在不同的項目中,會有一些非常類似的功能。甚至在開發新項目時,有時還會去以前項目中拷貝代碼。
這時,應該思考如何提高代碼的復用率,如何提供公共組件。
代碼的復用可以分為:
代碼片段(Snippets)
維護一個 Snippets List 是個不錯的注意
公共組件(Components)
公共組件需要從項目中分離,會有一定的工作量,但收益很大
從項目中分離公共組件的過程,需要關注模塊內的高內聚,模塊間的低耦合。在模塊分離的過程中,我們會更加深入地去理解應用系統。這一過程的完成,又將極大地提高開發效率。
更重要的是,我們不僅僅從項目中分離出一個公共組件,在使用其他人提供的公共組件時,也會變得容易。
下一次項目開發時,需要一個新功能,你首先想到的可能不是編碼,而是去公共組件庫或 Github 搜索有沒有類似的包,然后經過簡單的改造就能在項目使用。
12. 關注性能
針對 Web 應用,高并發、高可用、高一致性始終是亙古不變的議題。在對應用系統不斷發起挑戰時,那些隱藏的曾經被忽略的問題才會逐漸顯現。在這個過程中,不斷地發現應用系統的瓶頸,解決這些瓶頸,循環往復,不斷加深對業務、對應用系統的理解。
性能報告是性能測試輸出的結果。性能報告就像質檢報告一樣,是讓用戶信任和使用產品的憑證。高并發、高可用、高一致,并不是口號,需要數據的舉證,需要不斷的優化性能。
關于自學python的建議就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。