Python從入門到精通


  最近研究了一下Python,名不虛傳,確實挺精彩。

  學習一門新的語言,我認為從入門到精通的做法是:下SDK、裝IDE、練教程、結合工作應用、不斷踩坑進階、梳理總結

1.下SDK(2.7.15)

   下載地址:https://www.python.org/downloads/release/python-2715/

   如果沒有歷史包袱,建議用3.X

2.裝IDE(PyCharm

  下載地址:https://www.jetbrains.com/pycharm/download/#section=windows

  建議下載專業版,自己百度破解

  JetBrains做的一系列工具都很好用

3.練教程

  菜鳥教程比較適合菜鳥入門:http://www.runoob.com/python/python-tutorial.html

  標識符區分大小寫,可以包括英文、數字以及下划線(_),但不能以數字開頭(為什么很多語言的標識符都不能以數字開頭呢?

 用縮進來寫模塊,縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,對縮進要求非常嚴格

 單行注釋采用 # 開頭,多行注釋使用三個單引號(''')或三個雙引號(""")

 函數之間或類的方法之間用空行分隔,在於分隔兩段不同功能或含義的代碼,便於日后代碼的維護或重構

Python有5個標准的數據類型,所有數據類型都是類,可以通過 type() 查看該變量的數據類型

  1. Numbers(數字)
    • 數值類型不允許改變,如果改變 Number 數據類型的值,將重新分配內存空間
    • int(有符號整型)
    • long(長整型[也可以代表八進制和十六進制])
    • float(浮點型)
    • complex(復數)
  2. String(字符串)
    • 最常用的數據類型,一些字符串內置函數需要根據應用情況進行掌握
  3. List(列表)
    • []表示,允許更新
  4. Tuple(元組)
    • ()表示,不允許更新,相當於只讀列表
    • 只包含一個元素時,需要在元素后面添加逗號

         5.Dictionary(字典)

    • {}表示
    • 每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割
    • 鍵必須是不可變的,如字符串,數字或元組
    • 創建時如果同一個鍵被賦值兩次,后一個值會被記住
    • get 方法來取鍵值,如果不存在也不會報錯

     is 用於判斷兩個變量引用對象是否為同一個, == 用於判斷引用變量的值是否相等,類似傳址與傳值,可以使用id()函數(用於獲取對象的內存地址)進行判斷

    不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現

    pass 一般用於占位,比如def了一個函數,只有一行:pass

   絕對值函數:

  • 1、abs()是一個內置函數,而fabs()在math模塊中定義的。
  • 2、fabs()函數只適用於float和integer類型,而 abs() 也適用於復數。

   內置的time、calendar模塊用於處理時間和日歷,datetime模塊也比較好用

   函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號(),函數內容以冒號起始,並且縮進,函數最后可以使用return設置返回值,也可以沒有返回值

  如果要給函數內的全局變量賦值,必須使用 global 語句

  導入其他模塊使用import,和Java類似,C#用使用using

  import 導入模塊,每次使用模塊中的函數都要是定是哪個模塊:模塊.函數

  from…import * 導入模塊,每次使用模塊中的函數,直接使用函數就可以了,因為已經知道該函數是那個模塊中的了

  推薦使用 import 語句,避免使用 from … import,因為這樣可以使你的程序更加易讀,也可以避免名稱沖突

  設置環境變量:set PYTHONPATH=c:\python27\lib;

  包就是文件夾,但該文件夾下必須存在 __init__.py(用於標識當前文件夾是一個包) 文件, 該文件的內容可以為空

  異常使用try...except..else...finally,拋出異常使用raise,而不像其他語言一樣用throw

try:
  code    #需要判斷是否會拋出異常的代碼,如果沒有異常處理,python會直接停止執行程序

except:  #這里會捕捉到上面代碼中的異常,並根據異常拋出異常處理信息
#except ExceptionName,args:    #同時也可以接受異常名稱和參數,針對不同形式的異常做處理

  code  #這里執行異常處理的相關代碼,打印輸出等


else:  #如果沒有異常則執行else

  code  #try部分被正常執行后執行的代碼

finally:
  code  #退出try語句塊總會執行的程序

 

4.結合工作應用

  運維、爬蟲、機器學習

5.不斷踩坑進階

  5.1 中文編碼

        如果中文顯示亂碼,需要在頭部指定編碼

在文件開頭加入 

# -*- coding: UTF-8 -*- 

或

 #coding=utf-8 

 【注】Python3默認使用UTF-8編碼,不需要進行處理,所以后來者居上,是有道理的

  5.2 整型池

      Python 中會事先創建一個小型的整形池,范圍為 [-5,256],為這些整形開辟好內存空間,當代碼中定義該范圍內的整形時,不會再重新分配內存地址,所以用is判斷兩個該范圍的數時,返回值是True

  5.4 TRUE與FALSE

     元素除了是 0、空、FALSE 外都算 TRUE

6.梳理總結

  6.1 網上看到的一個基礎語法圖

 

  6.2 保留字符

  6.3 內置函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM