• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            任我行

            一天一個腳印......
            每日一句:
            posts - 54, comments - 218, trackbacks - 1, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            Python學習(一)

            Posted on 2005-10-11 16:51 任我行 閱讀(1154) 評論(0)  編輯 收藏 引用 所屬分類: Python
            一、下載安裝
            最新版本:2.4.2
            Windows
              下載 Python-2.4.2.exe,運行安裝
                     http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi

            其它平臺
              下載 Python-2.4.2.tgz 或 Python-2.4.2.tar.bz2,
              tar -zxvf Python-2.4.2.tgz 或bzcat Python-2.4.2.tar.bz2 | tar -xf -
              ./configure
              make
              make install
            二、語法
            1、函數聲明
            關鍵字 def 為函數聲明的開始,不區分有返回值的函數與無返回值的函數。它沒有子程序,全部都是函數。
            函數沒有定義返回的數據類型。如果函數執行了一個 return 語句,它將返回一個值,否則會返回 None (Python的空值)。
            參數 params 并不需要指明數據類型


            2、文檔字符串
            任何在三重雙引號中的東西都是函數的文檔字符串,它們用來說明函數可以做什么。
            如果存在文檔字符串,它必須要在函數中的被首先定義(也就是說在冒號后面被定義)。
            文檔字符串在運行時可作為函數的屬性。


            3、在Python中每個東西都是對象
            并且幾乎每個東西都有屬性和方法。
            所有的函數都有一個內置的屬性 __doc__,它會返回在函數源代碼中定義的文檔字符串。


            4、縮排代碼
            Python函數沒有明顯的 begin 或 end,或任何括號或大括號來標識函數開始結束。唯一的分隔是通過一個冒號(:)和代碼本身的縮排來表示。
            代碼塊(函數,if 語句,for 循環,等等)通過它們的縮排來定義。縮排表示塊的開始,非縮排表示結束,不存在明顯的括號,大括號,或關鍵字。這就意味著空白是有意義的,并且要一致。


            5、if __name__
            在 if 表達式周圍不需要小括號
            象C語言一樣,Python使用 == 進行比較,使用 = 進行賦值。
            模塊是對象,并且所有的模塊都有一個內置屬性 __name__。如果 import 模塊,那么 __name__ 的值通常為模塊的文件名,不帶路徑或者文件擴展名。如果直接運行模塊, __name__ 的值將是一個特別的缺省值, __main__。
            通過在程序中加入下一個if,就可以很簡單地實現單元測試。
            if __name__ == "__main__":


            6、字典
            Python的內置數據類型之一是字典,它在關鍵字與值之間定義了一對一的關系。這一點就象Perl中的關聯數組,Java中的 Map ,或VBScipt中的 Scripting.Dictionary 對象。如:
            >>> d = {"server":"mpilgrim", "database":"master"}
            1)每一個元素都是一個鍵-值對,整個元素集合用大括號括起來,賦值給變量d.
            2)server 是一個鍵字,它所關聯的值為 mpilgrim,用 d["server"] 來引用.
            3)你可以通過鍵字來得到值,但是不能通過值得到鍵字。
            >>> d["database"] = "pubs"
            4)可如上式一樣修改字典.
            5)不能在一個字典中有重復的鍵字。給一個存在的鍵字賦值會抹掉原來的值。
            6)可以在任何時候加入新的鍵-值對。這種語法同修改存在的值一樣。
            7)字典沒有元素順序的概念。
            8)字典的值可以是任意數據類型,包括字符串,整數,對象,或者甚至其它的字典。
            9)字典的關鍵字要嚴格一些,但是它們可以是字符串,整數和幾種其它的類型
            >>> del d['server']
            10)可如上式一樣刪除元素
            >>> d.clear()
            11)可如上式一樣清空所有元素


            7、列表
            1)個列表是一個用方括號包括的有序元素集。
            >>> li = ["a", "b", "mpilgrim", "z", "example"]
            2)可如上式定義列表
            3)一個列表可以象一個以0開始的數組一樣使用。任何一個非空列表的第一個元素總是 xxx[0]。
            4)負數索引從列表的尾部開始向后計數存取元素。li[n] == li[n – len(li)],如:
            >>> li[-3]
            結果為"mpilgrim"。
            5)任何一個非空的列表最后一個元素總是 li[-1]。
            6)你可以通過指定2個索引得到列表的子集,叫做一個“分片”。返回值是一個新的列表,它包含了列表中按順序從第一個分片索引開始,直到但是不包括第二個分片索引的所有元素。
            7)如果一個或兩個分片索引是負數,分片也可以工作,但如果兩個索引的所代表的位置大者在前則返回空列表。
            8)如果任一個分片索引為0,你可以將其省略,默認為0。所以li[:3]同li[0:3] 一樣。
            9)li[:n] 將總是返回前 n 個元素,而 li[n:] 將返回其它的元素。
            10)如果兩個分片索引均省略,將包括列表的所有元素。但是與原始的列表 li 不是同一個,它是一個新的列表,恰好擁有與 li 全部一樣的元素。li[:] 是生成一個列表拷貝的縮寫。
            11)append 增加單個元素到列表的尾部。如:
            >>> li.append("new")
            12)insert 在列表中插入單個元素。數值參數是使得列表增加的第一個元素的索引(注意,不是序號).如下:
            >>> li.insert(2, "new")
            13)列表元素不需要唯一
            14)用extend 連接列表。注意不要用多個參數調用 extend ,要使用一個列表參數調用。如下:
            >>> li.extend(["two", "elements"])
            15)index 在列表中查找值第一次的出現并返回索引值
            >>> li.index("example")
            16)如果在列表中沒有找到值,Python會引發一個異常
            17)要測試一個值是否在列表內,使用 in,如果值找到了,它返回 1 ,或者沒找到則為 0 。(在Python中不存在布爾類型。在一個布爾上下文中(象 if 語句),0 是假,所有其它的數值為真。這一點也可以擴展到其它類型。一個空串(""),一個空列表([]),和一個空字典({})都是假,所有其它的字符串,列表,和字典是真。)如:
            >>> "new" in li
            18)remove 從列表中除掉第一次出現的值。(僅第一次出現的值),如:
            >>> li.remove("new")
            19)如果在列表中沒有找到值,Python引發一個異常。它反映了 index 方法的行為。
            20)用pop除掉列表的最后一個元素,然后返回除掉的值。注意這一點同 li[-1]不同,后者返回一個值但不改變列表,也不同于 li.remove(value),后者改變列表但不返回值。如:
            >>> li.pop()
            21)列表也可以用 + 操作符連接起來。list = list + otherlist 相當于 list.extend(otherlist)。但是 + 操作符將連接后的列表作為一個值返回,而 extend 僅修改存在的列表。如:
            >>> li = li + ['example', 'new']
            22)Python支持 += 操作符。li += ['two'] 相當于 li = li + ['two']。+= 操作符可用于列表,字符串,和整數,并且它也可以在用戶定義類中被重載。
            23)* 操作符作為一個重復符可用在列表上。li = [1, 2] * 3 相當于 li = [1, 2] + [1, 2] + [1, 2], 將三個列表連成一個。


            8、序列
            1)序列是不可變列表。一旦創建了一個序列就不能以任何方式改變它。
            2)序列的定義同列表的定義方式相同,除了整個元素集是用小括號包圍的而不是方括號
            3)當分割一個列表時,會得到一個新的列表;當分割一個序列時,會得到一個新的序列。
            4)序列沒有方法,所以不能查找、刪除和增加元素,但可以用in來檢查元素是否在序列里。
            5)序列比列表操作速度快。
            6)序列可以在字典中被用作關鍵字,但是列表不行。
            7)內置的 tuple 函數接收一個列表,返回一個有著相同元素的序列。而 list 函數接收一個序列,返回一個列表。從效果上看,tuple 凍結一個列表,而 list 解凍一個序列。
            8)序列用在字符串格式化.
            9、變量
            1)Python象大多數其它語言一樣有局部和全局變量,但是它沒有明顯的變量聲明。變量通過賦值產生,當超出作用范圍時自動消滅。
            2)當一條命令用續行符(“\”)分割成多行時,后續的行可以以任何方式縮排,Python通常的嚴格的縮排規則不需遵守。
            3)嚴格地講,在小括號,方括號或大括號中的表達式(如定義字典)可以用或者不用續行符(“\”)分割成多行。
            4)Python不允許你引用一個未被賦值的變量,試圖這樣做會引發一個異常。


            10、字符串格式化
            1)基本語法如下:
            "帶占位符的字符串" % (參數序列)
            2)試圖將一個字符串同一個非字符串連接會引發一個異常。字符串連接只能在每個都是字符串時起作用。此時選擇格式化串會是個不錯的主意。


            11、映射
            1)基本語法如下:
            [ 函數或表達式 for 循環變量 in 列表/序列 ]
            2)映射是通過循環遍歷一個列表/序列,并對每個元素應用一個函數,然后返回一個包含為計算后的值的新列表。
            3)注意列表映射不改變被映射的列表。
            4)新列表擁有與原有列表/序列擁有相同數量的元素數

            亚洲综合熟女久久久30p| 久久久国产精华液| 久久午夜福利无码1000合集| 久久精品国产欧美日韩99热| 人妻精品久久久久中文字幕69| 狠狠色婷婷久久一区二区三区 | 精品国产日韩久久亚洲| 欧美熟妇另类久久久久久不卡| 久久久久99精品成人片直播| 久久精品成人| 久久午夜无码鲁丝片| 久久国产视屏| 国产三级久久久精品麻豆三级| 亚洲人成无码www久久久| 潮喷大喷水系列无码久久精品| 午夜精品久久久久久| 精品久久久久久国产| 精品久久久久久中文字幕大豆网 | 久久精品国产亚洲一区二区| 久久99九九国产免费看小说| 97久久精品人人澡人人爽| 无码人妻久久一区二区三区免费| 久久久精品无码专区不卡| 99久久免费国产特黄| 久久99精品久久久久久久不卡| 伊人久久亚洲综合影院| 久久人人爽人人爽人人片AV东京热| 99久久99这里只有免费的精品| 婷婷综合久久中文字幕蜜桃三电影 | 中文字幕无码精品亚洲资源网久久| 国产精品美女久久久免费| 婷婷综合久久狠狠色99h| 中文字幕热久久久久久久| 国产香蕉久久精品综合网| 久久伊人亚洲AV无码网站| 国产成人综合久久精品尤物| 中文精品久久久久国产网址| 亚洲国产精品久久久久婷婷老年| 婷婷综合久久中文字幕| 91久久国产视频| 久久亚洲精品无码观看不卡|