溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

自學(xué)python語言需要注意哪些

發(fā)布時間:2020-06-06 14:58:19 來源:億速云 閱讀:341 作者:Leah 欄目:編程語言

  自學(xué)python語言需要注意哪些?隨著python語言的火熱發(fā)展,很多人都想學(xué)python,而對于想自己學(xué)python的人,小編總結(jié)了幾點(diǎn)建議,希望看完這篇文章你能有所收獲。

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI