python入門編程之基礎

Python, 是一種面向對象、解釋型計算機程序設計語言。Python語法簡潔清晰,特點之一是強制用空白符做爲語句縮進。Python的設計哲學是「優雅」、「明確」、「簡單」。

Python是一門具備強類型(即變量類型是強制要求的)、動態性、隱式類型(不須要作變量聲明)、大小寫敏感(var和VAR表明了不一樣的變量)以及面向對象(一切皆爲對象)等特色的編程語言。

Python可用來幹嗎?
系統編程 :提供API(Application Programming Interface應用程序編程接口),能方便進行系統維護和管理,Linux下標誌性語言之一,是不少系統管理員理想的編程工具。

圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。

數學處理:NumPy擴展提供大量與許多標準數學庫的接口。

文本處理:python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發。

網絡編程:提供豐富的模塊支持sockets編程,能方便快速地開發分佈式應用程序。不少大規模軟件開發計劃例如Zope,Mnet 及BitTorrent. Google都在普遍地使用它。

Web編程:應用的開發語言,支持最新的XML技術。

java

1.Python基礎

python

1.1Python數據類型  操做符

程序員

操做符:
    標準算術操做符:+  -  *  /  //取整  %取餘  **乘方
    
    標準比較操做符:<  <=  >  >=  ==  !=  <>
    
    邏輯操做符:and  or  not

基本數值類型:    

        int (有符號整數): 一般被稱爲只是整數或整數,是正或負整數,不帶小數點。

        long (長整數 ): 或長,是無限大的整數,這樣寫整數,後面跟着一個大寫或小寫的L。

        float (浮點實數值) : 或浮點數,表示實數,並寫入一個小數點分隔的整數部分和小數部分。浮點數也能夠是科學記數法,用e或E表示的功率10 (2.5e2 = 2.5 x 102 = 250).
        complex (複數) : 形式如 a + bJ,其中a和b是浮點和J(或j)表示-1的平方根(這是一個虛數)。 a是數的實部,b是虛部。Python編程不使用複雜的數字。
數據類型-字符串:
 
正則表達式

   Python中可使用一對單引號''或者雙引號""生成字符串。
     字符串是屬於不可變數據類型,就是經過字符串方法返回的都是一個新的字符串。

  索引
      對於一個有序序列,能夠經過索引的方法來訪問對應位置的值。字符串即是一個有序序列的例子,Python使用 [] 來對有序序列進行索引。索引是從 0 開始的,Python還引  入了負索引值的用法,即從後向前開始計數。
        s = "hello world"
        s[0]  輸出「h」
        s[-2]輸出「l」
     分片
         分片用來從序列中提取出想要的子序列,其用法爲:var[lower:upper:step]
  其範圍包括 lower ,但不包括 upper ,即 [lower, upper), step 表示取值間隔大小,若是沒有默認爲1。
             s = "hello world"
             s[1:3]  輸出「el」
             s[1:-2]輸出「ello wor」
  每隔兩個取一個值:
             s[::2] 輸出「hlowrd」

  跟java同樣Python也有不少對字符串進行操做的方法:
      s.split(),將s按照空格(包括多個空格,製表符\t,換行符\n等)分割,並返回全部分割獲得的字符串。
  line = "1 2 3 4  5"
  numbers = line.split()
  print numbers 輸出['1', '2', '3', '4', '5']
      s.replace(part1, part2),將字符串s中指定的部分part1替換成想要的部分part2,並返回新的字符串。
  s = "hello world"
  s.replace('world', 'python')
  輸出 「hello python」
  s.upper(),方法返回一個將s中的字母所有大寫的新字符串。
  s.lower(),方法返回一個將s中的字母所有小寫的新字符串。
  s.strip(),返回一個將s兩端的多餘空格除去的新字符串。
  s.lstrip(),返回一個將s開頭的多餘空格除去的新字符串。
  s.rstrip(),返回一個將s結尾的多餘空格除去的新字符串。
  固然還有不少的方法
  強制轉換爲字符串:
  str(ob),強制將ob轉化成字符串。
  repr(ob),也是強制將ob轉化成字符串
數據類型-列表:
express

  在Python中,列表是一個有序的序列。
    列表用一對 [] 生成,中間的元素用 , 隔開,其中的元素不須要是同一類型,同時列表的長度也不固定。
  列表經過[]來定義:
    a = [1, 2.0, 'hello']
    print a
  列表操做,與字符串同樣列表也支持不少操做,列表屬於可變數據類型,能夠經過索引來改變值。
  如下是關於列表操做的一些方法:
     count(ob) ,返回列表中元素 ob 出現的次數。
     index(ob) ,返回列表中元素 ob 第一次出現的索引位置,若是 ob 不在列表中會報錯。
     append(ob) ,將元素 ob 添加到列表 的最後。
     extend(lst), 將序列 lst 的元素依次添加到列表的最後
     insert(idx, ob), 在索引 idx 處插入 ob ,以後的元素依次後移。
     remove(ob), 會將列表中第一個出現的 ob 刪除,若是 ob 不在列表中會報錯。
     pop(idx), 會將索引 idx 處的元素刪除,並返回這個元素。
     sort() ,會將列表中的元素按照必定的規則排序
     reverse() ,會將列表中的元素從後向前排列。
編程


數據類型-元祖:

網絡

  與列表類似,元組Tuple也是個有序序列,可是元組是不可變的,用()生成。
          t = (10, 11, 12, 13, 14)
  列表轉換爲元組:
       a = [10, 11, 12, 13, 14]
            tuple(a)
 因爲元組是不可變的,因此只能有一些不可變的方法,例如計算元素個數 count 和元素位置 index ,用法與列表同樣。
    a.count(10)
    a.index(12)
   列表與元組的速度比較:
   元組的生成速度會比列表快不少,迭代速度快一點,索引速度差很少。


數據類型-典:

  字典 dictionary ,在一些編程語言中也稱爲 hash , map ,是一種由鍵值對組成的數據結構。
  Python使用 `{}` 或者 `dict()` 來建立一個空的字典:
    a = {}
    a = dict()
  出於hash的目的,Python中要求這些鍵值對的鍵必須是不可變的,而值能夠是任意的Python對象。
  字典方法:
     d.get(key, default = None)返回字典中鍵 key 對應的值,若是沒有這個鍵,返回 default 指定的值(默認是 None )
   d.pop 方法刪除並返回字典中鍵 key 對應的值,若是沒有這個鍵,返回 default 指定的值(默認是 None )
   d.keys()返回一個由全部鍵組成的列表;
     d.values() 返回一個由全部值組成的列表;
       d.items() 返回一個由全部鍵值對元組組成的列表;
數據類型-集合:
數據結構

  列表和字符串都是一種有序序列,而集合 set 是一種無序的序列
  由於集合是無序的,因此當集合中存在兩個一樣的元素的時候,Python只會保存其中的一個(惟一性);同時爲了確保其中不包含一樣的元素,集合中放入的元素只能是不可變的對象(肯定性)。
  能夠用set()函數或者{}方式生成集合:
        a = set([1, 2, 3, 1])
               a = {1, 2, 3, 1}
        Python還提供了一種叫作不可變集合的數據結構,與集合不一樣的是,不可變集合一旦建立就不能夠改變。
不可變集合的一個主要應用是用來做爲字典的鍵。
      使用 frozenset 來進行建立:
             s = frozenset([1, 2, 3, 'a', 1])
  集合方法:
       s.add(a),用來向集合添加單個元素。
       s.update(seq),用來向集合添加多個元素。
       s.remove(ob),從集合s中移除元素ob,若是不存在會報錯。
       s.pop(),因爲集合沒有順序,不能像列表同樣按照位置彈出元素,因此pop 方法刪除並返回集合中任意一個元素,若是集合中沒有元素會報錯。
1.2Python判斷語句
循環語句
循環語句:while

  while expression:  # expression 條件表達式
      while_suite     # 根據條件循環執行的語句
      i = 0
      total = 0
      while i < 1000000:
          total += i
          i += 1
      print total
循環語句:for:
app

  for循環會遍歷完<sequence>中全部元素爲止
        for <variable> in <sequence>:
                <indented block of code>

  Python中的for循環與java的for循環不太同樣,不是計數循環,更像迭代循環,如:
    total = 0
    for i in xrange(100000):
        total += i
    print total

  continue 語句:遇到 continue 的時候,程序會返回到循環的最開始從新執行。
    values = [7, 6, 4, 7, 19, 2, 1]
    for i in values:
        if i % 2 != 0:
            # 忽略奇數
            continue
        print i/2
  break 語句:遇到 break 的時候,程序會跳出循環,無論循環條件是否是知足。

條件語句:if  elif  else
  if expression1:    # 藍色部分能夠單獨用
      if_suite
  elif expression2:   # 綠色部分能夠省略,也能夠重複多個
      elif_suite
  else expression3:   # 用elif,最後必須有else
      else_suite      # Python沒有switch-case

1.3Python文件讀寫操做
socket

  讀文件:
      使用 open 函數或者 file 函數來讀文件,使用文件名的字符串做爲輸入參數
    f = file('test.txt')   
    f = open('test.txt')
    print f.read()                   #讀取文件全部內容
    print f.readlines()           #按照行讀入內容
    f.close()                          #讀完文件須要把文件關閉
    import os                       #導入os包
    os.remove('test.txt')      #刪除剛纔建立的文件
  寫文件:
        使用 open 函數或者 file 函數來寫文件,使用文件名的字符串做爲輸入參數,使用 w 模式時若是文件不存在會被建立,若是文件已經存在, w 模式會覆蓋以前寫的所  有內容。還有追加模式 a ,追加模式不會覆蓋以前已經寫入的內容,還可使用讀寫模式 w+。
  # 默認 r# r:讀取;w:寫入;a:添加;+:讀寫;b:二進制訪問
                          s=open("e://data.txt",'w')    
                          s.write("hello")   
          s.close()
          print open("e://data.txt").read()

1.3Python異常 try& except 塊

  異常捕捉

    Python編譯時會檢查語法錯誤,運行時檢測其餘錯誤。
    當遇到錯誤,Python解釋器就引起異常,並顯示詳細信息。
      try:
          …… # 可能會出現異常的代碼
          ……
      except IOError, e:
             print ‘出錯緣由’, e
      finally    #無論 try 塊有沒有異常, finally 塊的內容老是會被執行,並且會在拋出異常前執行       

    也能夠用raise有意引起一個異常

  自定義異常
    
      定義了一個繼承自 ValueError 的異常類,異常類通常接收一個字符串做爲輸入,並把這個字符串看成異常信息    
          class CommandError(ValueError):
                                          pass

 

python的基礎操做大概就是這些,若是有錯誤或者有遺漏但願你們指出。

相關文章
相關標籤/搜索