Python從入門到精通

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

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

1.下SDK(2.7.15)windows

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

   若是沒有歷史包袱,建議用3.X機器學習

2.裝IDE(PyCharm函數

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

  建議下載專業版,本身百度破解學習

  JetBrains作的一系列工具都很好用編碼

3.練教程spa

  菜鳥教程比較適合菜鳥入門: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

   絕對值函數:

  • 一、abs()是一個內置函數,而fabs()在math模塊中定義的。
  • 二、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 內置函數

相關文章
相關標籤/搜索