學習背景:

  精通一門程式語言並編寫出自己喜歡的程式是我多年的夢想,一定要找時間實現。此時想起了高中時的我對程式設計的興趣十分濃厚,父母給自己購買了學習機插卡式的,只能敲basic程式碼,同時學校有386計算機課,經常和老師討論程式設計問題,時光一晃20多年過去了,程式設計放下了,但是我的夢想沒有放下。

                   

  我現在西藏拉薩出差已經連續將近2個月了正好看到老男孩在51cto網站上開設網路培訓Python語言學習班,,我猶豫了怕在高原堅持不下來,後來轉念一想早報名早學習,不能再耽誤下去了我毅然報了名花了5000多money,自己要給自己壓力否則人的惰性不容易客服,會讓我再一次失去。報名後看了課程安排,每一週有一節網路線上課,主要是解答問題和佈置作業及程式分析。大部分是自己看視訊學習。

初步接觸:

一、Python簡史

1、1989年由Guido寫Python語言編譯器。創造一種C和shell之間,功能全面,易學易用,可拓展的語言。1991年第一個Python編譯器誕生,用C語言實現的。
2、與2010年7月3日發現2.x版本的最後一個版本2.7,與2008年12月3日發行3.0版本,到目前2015年9月發行到3.5版本
3、2.7版本不會再有更新了,所有最新的標準庫的功能只在3.X版本里,且3.X版本把之前2.X版本的很多重複的,效率低下的內容進行了縮減,語法有一些進行了改變。
4、python3是現在和未來的語言,python2.x是過去的語言Python語言作者Guido van Rossum宣佈Python 2.7支援時間延長到2020年。

二、開發工具介紹

  好的工具可以讓我們達到事半功倍的效果!

                                 

1、推薦安裝Pycharm,目前最新版本5.04,因為Pycharm是一個IDE開發工具,可以部分自動縮排、補充語句和查詢等功能,方便寫程式碼。

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

下載地址:https://www.python.org/downloads/windows/ Python3.5.1

        

Python3.5.1 64位選擇x86-64 32位選擇x86

2、安裝python在windows中需要設定環境變數,我安裝python3.5時自動已經把環境變數設定好了,此時可以在命令符cmd裡任意目錄下輸入python都可以呼叫。

           

  上圖環境變數path中 加入你目前安裝python的實際路徑 如d:\python34\ 如前面有資料則加一個;分號

三、基礎知識部分

說明:本筆記所有程式碼均使用python3.5版本,2.X版本不會再出現和討論。

1、列印hello world

世界上的第一個程式就是Hello World,由Brian Kernighan創作。所以無論哪種語言,我們第一步基本上都是實現一個hello world。

       

左圖上方為pycharm5.0.4的程式,右圖上方為windows cmd 用python執行的程式 紅色為編寫的程式碼,綠色為執行的效果。

注:pycharm只是python的編輯工具,最終還是要通過python進行程式執行和編譯。cmd下直接呼叫python適用於程式碼少,臨時測試簡單的程式。同時python也自帶編輯工具IDLE。

對此程式進行解釋:

print() 是python中經常要用到的列印輸出語句,可把要執行的結果通過此語句輸出到螢幕。

(“ ”)括號中的內容是我們要輸出的字元或變數及表示式,“”用雙引號擴起來表明是一個字串。

2、計算機編碼
  計算機是對二進位制0,1進行處理的,所以無論字母、數字、符號等都要進行計算機編碼後才能工作,下面介紹一下幾種常用編碼:

1)ASCII

  ASCII(American Standard Code for Information Interchange,美國標準資訊交換程式碼)是基於拉丁字母的一套電腦編碼系統,

主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,並等同於國際標準ISO/IEC 646。

          

2) Unicode  

  Unicode(統一碼、萬國碼、單一碼)是電腦科學領域裡的一項業界標準,包括字符集、編碼方案等。Unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位制編碼,以滿足跨語言、跨平臺進行文字轉換、處理的要求。1990年開始研發,1994年正式公佈。

3) UTF-8

  UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼。由Ken Thompson於1992年建立。現在已經標準化為RFC 3629。UTF-8用1到6個位元組編碼UNICODE字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

  目前我們Python3版本的預設編碼標準就是採用UTF8。所以在python2程式的第一行 #-*- coding:utf-8 -*- 可以不用寫了。 

4) GBK及GB2321  

  《資訊交換用漢字編碼字符集》是由中國國家標準總局1980年釋出,1981年5月1日開始實施的一套國家標準,標準號是GB 2312—1980。 
GB2312編碼適用於漢字處理、漢字通訊等系統之間的資訊交換,通行於中國大陸;新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟體都支援GB 2312。 基本集共收入漢字6763個和非漢字圖形字元682個。整個字符集分成94個區,每區有94個位。每個區位上只有一個字元,因此可用所在的區和位來對漢字進行編碼,稱為區位碼。 把換算成十六進位制的區位碼加上2020H,就得到國標碼。國標碼加上8080H,就得到常用的計算機機內碼。
  1995年又頒佈了《漢字編碼擴充套件規範》(GBK)。GBK與GB 2312—1980國家標準所對應的內碼標準相容,同時在字彙一級支援ISO/IEC10646—1和GB 13000—1的全部中、日、韓(CJK)漢字,共計20902字。
 
5) 編碼使用的參考
 
          

   編碼好比姓名長度,如果你的程式碼只需要簡體中文那麼選擇GB2312最適合了,佔用位元組少,處理速度快,目前資訊化的發展和今後相容性及擴充套件性的需求,我們要考慮各個國家語言的人都能看到,不會產生亂碼,所以一般我們用UTF8編碼,優點是可變長度的,如使用ascii碼時只需佔用1個位元組,會根據需要進行變化來動態適應。

3、基礎規則及運算

  識別符號:

  就是我們常說的定義的變數、表示式和函式、類的命名規則

  • 第一個字元必須是字母表中字母或下劃線'_'。
  • 識別符號的其他的部分有字母、數字和下劃線組成。
  • 識別符號對大小寫敏感。

  在Python 3中,非-ASCII 識別符號也是允許的了。比如:中國=1   美國=0    print(中國+美國)   結果1

  我們可以用中文啦,但是為了相容性和其它程式合作開發,所以目前除非是純python開發應用,否則不建議使用。


python保留字

保留字即關鍵字,我們不能把它們用作任何識別符號名稱。Python的標準庫提供了一個keyword module,可以輸出當前版本的所有關鍵字:>>> import keyword


          

註釋

Python中單行註釋以#開頭,多行註釋用三個單引號(''')或者三個雙引號(""")將註釋括起來。註釋的內容在程式中不會執行!


行與縮排

python最具特色的就是使用縮排來表示程式碼塊。縮排的空格數是可變的,但是同一個程式碼塊的語句必須包含相同的縮排空格數。


資料型別

python中數有四種類型:整數、浮點數和複數。

  • 整數, 如 1
  • 浮點數 如 1.23、3E-2
  • 複數 如 1 + 2j、 1.1 + 2.2j

字串

  • python中單引號和雙引號使用完全相同。
  • 使用三引號('''或""")可以指定一個多行字串。
  • 轉義符 '\' 可續接下面的字元 ‘\n’ 會自動換行
  • 自然字串, 通過在字串前加r或R。 如 r"this is a line with \n" 則\n會顯示,並不是換行。
  • python允許處理unicode字串,加字首u或U, 如 u"this is an unicode string"。
  • 字串是不可變的。
  • 按字面意義級聯字串,如"this " "is " "string"會被自動轉換為this is string。

Python算術運算子

以下假設變數a為10,變數b為20:

比較運算:

賦值運算:

     

邏輯運算:

  

成員運算:

  

身份運算:

  

位運算:

  

運算子優先順序: