Python筆記之不可不知

來源:互聯網
上載者:User

標籤:

      Python軟體已經安裝成功有很長一段時間了,也即或多或少的瞭解Python似乎也很長時間了,也是偏於各種借口,才在現在開始寫點總結。起初接觸Python是因為公司項目中需要利用Python來測試開發的介面,於是開始瞭解這門解釋性,物件導向,帶有動態語義的進階語言,或是指令碼語言,或是膠水語言。便在網上找了一個現成的Python爬蟲,在本地測試回合成功,將新浪上面的所有部落格地址扒取下來。真心想從基礎學起,自己寫個,於是,有了這份基礎總結,項目模組的開發將在下一篇博文中貼出。敬請關注!

     本博文僅記錄自己學習Python過程中的點滴,與諸位喜歡Python的菜鳥朋友分享。本博文著作權歸作者和部落格園所有,歡迎轉載,但請保留本博文的出處。itRed  聯絡郵箱:[email protected]   部落格連結:http://www.cnblogs.com/itred  GitHub連結: https://github.com/itRed

 

一.Python產生

    1989年聖誕節,阿姆斯特丹,Guido van Rossum 開發而成。

二.Python的特徵

  1. 語言簡單;
  2. 解釋性和編譯性;
  3. 物件導向編程;
  4. 進階語言(無需考慮如記憶體管理一類的底層知識);
  5. 可擴充性和可嵌入性(很好的和C,C++,JAVA等);
  6. 免費開源;
  7. 可移植性;
  8. 豐富的庫。

三.Python的檔案類型 

  1. 原始碼:以‘py‘為副檔名的檔案,該檔案由Python程式進行解釋,不需要編譯;
  2. 位元組代碼:Python原始碼經過編譯後產生副檔名為’pyc’的檔案;

    編譯方法:

      >>>import py_compile     >>>py_compile.compile(檔案名稱.py)

 

  3. 最佳化代碼:經過最佳化後的源檔案,副檔名為’.pyo

    編譯方法:

      >>>python –o –m py_compile 檔案名稱.py

 

四.Python重點筆記

   正是因為python比較簡單,所以很多關於很多語言都比較常見的文法在這裡就不再贅述了。只是介紹一些比較有特點的基礎知識。

  1. 查看變數的記憶體位置:
    >>>a=2    >>>id(a)

 

  2. 求冪運算子(**):

    >>>2**3    8

 

  3. 整數除法(//):

    >>>3.0//2    1.0

 

  4. 複數標記法(Complex):

    >>>c=3.14j

 

  5. 序列:主要包含字串,列表,元組等。

  1. 元組(“()”)

    (1)     元組案例

    >>>t=(‘red’,20,’male’)    >>>t[0]    ‘red‘    >>>t[1]    20    >>>t[2]    ‘male‘    >>>t    (‘red‘, 20, ‘male‘)

 

    (2)     空元組:newtest=()

    (3)     單元素元組:newtest2=(2,)  *必須要加逗號

  2. 列表(”[]”)

    (1)     序列是處理一組有序項目的資料結構,即可以在一個列表中儲存一個序列的項目。可以對元素進行賦值操作。

    (2)     列表的組成包含了多個以逗號分隔開的數字或字串。

    (3)     案例:

      >>>list1=[‘red‘,’test’,’張三’]      >>>list2=[1,2,3,4,5]      >>>list3=[‘str1‘,’str2’,’str3’]      >>>listred=[‘red’,20,’male’]      >>>listred[0:3]      [‘red‘,20,’male’]

 

    (4)     空序列:

        >>>list=[]

 

    (5)     列表的基本操作:

      取值:切片和索引,list[]

      添加:list.append()

      刪除:del(list[])

                 List.remove(list[])

      修改:list[]=x

      尋找:var in list

     1. Python控制流程程

      就Python的文法而言,基本具有一般語言通用的。判斷語句,for迴圈語句,switch語句等等。都是十分基礎的。用幾個簡單的案例來說明Python這樣簡單的語言效果會更好。

                   >>>for x in ‘hello‘:          ……    print x          h      e      l      l      o      >>>st=‘hello‘      >>>for x in range(len(st)):      ……    print st[x]     
        (輸出結果同上)

 

               2. if語句:

              >>> x=0     >>> if x==0:     ...     print ‘0‘     ... else:     ...     print ‘1‘     ...     0

 

     3. 索引(迭代序列指數):遍曆每個項目的另一種方法是由序列本身的位移指數(索引)。迭代就是重複執行一個命令。

      >>>fruits=[‘banana‘,’apple’,’orange’]      >>>for index in range(len(fruits)):      …    print ‘fruit:‘,fruits[index]      …    print ‘finish’

 

      4. 字典的遍曆:

      >>> d = {1:111,2:222,3:333}      >>> for k,v in d.items():      ...     print k,v      ...      1 111      2 222      3 333      >>> 

 

       5. 函數

    函數就是為了完成特定功能的一個語句組,這組語句可以作為一個單位使用,並且給它起一個名字。

    可以通過函數名在程式的不同地方多次執行,這通常就是函數的調用,可以不用在所有的地方重複性地編寫這些語句。

    函數分為自訂函數和預定義Python函數,自訂函數是使用者自己編寫的函數,預定義函數是指系統內建的函數,還有一些第三方編寫的函數,如其他程式員編寫的一些函數,對於這些現成的函數,使用者可以直接拿來使用。

  def 函數名(參數列表):  #可以沒有參數列表     函數體

 

         案例:

  >>> def f(x):  ...  print x  ...  >>> f(10)  10  >>> f(‘hello‘)  hello  >>> f([1,2,3,4])  [1, 2, 3, 4]  >>>
  >>> def f(x,y):
  ...   print x,y
  ...
  >>> f(1,2)
  1 2
  >>> f(‘a‘,‘b‘)
  a b
  >>>
  >>> t=[‘name‘,‘red‘]
  >>> def f(x,y):
  ...   print "%s:%s" % (x,y)
  ...
  >>> f(*t)
  name:red
  >>>
  >>> def f(name=‘name‘,age=0):
  ...   print "name:%s" % name
  ...   print "age:%s" % age
  ...
  >>> f()
  name:name
  age:0
  >>> t=(30,‘red‘)
  >>> f(*t)
  name:30
  age:red
  >>> d={‘name‘:‘red‘,‘age‘:20}
  >>> f(age=20,name=‘red‘)
  name:red
  age:20
  >>> f(**d)
  name:red
  age:20
  >>>

 

 

五.  總結 

    本片博文僅僅是Python基礎的一部分,本人認為是重點中的重點,作為菜鳥級的Python愛好者,基礎往往是走向大神的門檻。只有將基礎爛熟於心,方可寫出高效而且簡潔的代碼。對於使用這些基礎的知識開發Python的簡單模組將在下一篇部落格中詳細介紹,謹以此文獻給奮鬥中的自己!

 

 

  郵箱:[email protected]  個人部落格: http://itred.cnblogs.com  著作權聲明:本文著作權歸作者和部落格園共有,歡迎轉載,但請在文章顯眼位置標明文章出處。未經本人書面同意,將其作為他用,本人保留追究責任的所有權利。

 

Python筆記之不可不知

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.