網絡爬蟲學習筆記(2)
1 資料
- 《Python網絡爬蟲從入門到實踐》唐松,陳志銓。主要面向windows平臺下的python3。
 - 菜鳥教程-》python
 
2 筆記
2-1 Python基礎(1)++
- python的列表還有一種只讀格式——元組Tuple,它用()進行賦值,且只能在初始化時賦值。
 - 列表有追加元素的內置方法append()
 - 字典有內置方法keys()(獲得所有鍵的值),values()
 - 元組用 “( )” 標識, 列表用 “[ ]” 標識,字典用 “{ }” 標識
 - type(變量) 查看該變量的數據類型,還可以用 isinstance(變量,類型) 來判斷是不是那種類型。type()不會認為子類是一種父類類型,isinstance()會認為子類是一種父類類型。
 
2-2 Python基礎(2)
- 條件語句——格式上是if 條件 :,取代Java中()的是一個在最后的:同樣有else存在(但是else后面要加:),另外還有else if簡寫而成的elif。
 
            
              a 
              
                =
              
              
                'book'
              
              
b 
              
                =
              
              
                'java'
              
              
c 
              
                =
              
              
                "book"
              
              
                if
              
               a 
              
                ==
              
               b 
              
                :
              
              
                print
              
              
                (
              
              a
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'a!=b'
              
              
                )
              
              
                if
              
               a 
              
                ==
              
               c 
              
                :
              
              
                print
              
              
                (
              
              a
              
                )
              
              
                elif
              
               b 
              
                ==
              
               c 
              
                :
              
              
                print
              
              
                (
              
              
                'b==c'
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'c!=a/b'
              
              
                )
              
            
          
          - 循環語句——常用的有for循環和while循環兩種,同樣是()變成末尾的:。不過python的for循環形式上更接近foreach循環,python中的循環還可以使用else。
 
            
              myBook 
              
                =
              
              
                [
              
              
                'java'
              
              
                ,
              
              
                'python'
              
              
                ,
              
              
                'c'
              
              
                ]
              
              
                for
              
               book 
              
                in
              
               myBook
              
                :
              
              
                print
              
              
                (
              
              book
              
                )
              
              
                print
              
              
                (
              
              
                '\n'
              
              
                )
              
              
                for
              
               i
              
                ,
              
              j 
              
                in
              
              
                enumerate
              
              
                (
              
              
                (
              
              
                'a'
              
              
                ,
              
              
                'b'
              
              
                ,
              
              
                'c'
              
              
                )
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              i
              
                ,
              
              j
              
                )
              
              
                for
              
               i
              
                ,
              
              j 
              
                in
              
              
                enumerate
              
              
                (
              
              myBook
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              i
              
                ,
              
              j
              
                )
              
              
count 
              
                =
              
              
                0
              
              
                while
              
               count 
              
                <
              
              
                3
              
              
                :
              
              
                print
              
              
                (
              
              myBook
              
                [
              
              count
              
                ]
              
              
                )
              
              
    count 
              
                =
              
               count 
              
                +
              
              
                1
              
            
          
          for循環中利用內置函數 len() 和 range(),函數 len() 返回列表的長度,即元素的個數, range返回一個序列的數。(例子來自菜鳥)(菜鳥你的括號呢?)
            
              fruits 
              
                =
              
              
                [
              
              
                'banana'
              
              
                ,
              
              
                'apple'
              
              
                ,
              
              
                'mango'
              
              
                ]
              
              
                for
              
               index 
              
                in
              
              
                range
              
              
                (
              
              
                len
              
              
                (
              
              fruits
              
                )
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                '當前水果 :'
              
              
                ,
              
               fruits
              
                [
              
              index
              
                ]
              
              
                )
              
            
          
          else使用例子(例子來自菜鳥)
            
              
                for
              
               num 
              
                in
              
              
                range
              
              
                (
              
              
                10
              
              
                ,
              
              
                20
              
              
                )
              
              
                :
              
              
                # 迭代 10 到 20 之間的數字
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                2
              
              
                ,
              
              num
              
                )
              
              
                :
              
              
                # 根據因子迭代
              
              
                if
              
               num
              
                %
              
              i 
              
                ==
              
              
                0
              
              
                :
              
              
                # 確定第一個因子
              
              
         j
              
                =
              
              num
              
                /
              
              i          
              
                # 計算第二個因子
              
              
                print
              
              
                (
              
              
                '%d 等于 %d * %d'
              
              
                %
              
              
                (
              
              num
              
                ,
              
              i
              
                ,
              
              j
              
                )
              
              
                )
              
              
                break
              
              
                # 跳出當前循環
              
              
                else
              
              
                :
              
              
                # 循環的 else 部分,不break跳出循環的話就會執行
              
              
                print
              
              
                (
              
              num
              
                ,
              
              
                '是一個質數'
              
              
                )
              
            
          
          
            此外循環中可以用continue、break、pass(什么也不做)。
            
             3. 函數——參數(()里的內容)必須要正確地寫入函數中
          
            
              
                def
              
              
                add
              
              
                (
              
              x
              
                )
              
              
                :
              
              
    y 
              
                =
              
               x 
              
                +
              
              
                1
              
              
                return
              
               y
w 
              
                =
              
              
                1
              
              
                print
              
              
                (
              
              w
              
                )
              
              
                print
              
              
                (
              
              add
              
                (
              
              w
              
                )
              
              
                )
              
            
          
          - 運算符,這里只提一下python中有**——冪 - 返回x的y次冪,//——取整除 - 返回商的整數部分(向下取整)并且沒有++、–(- -,間隙被間隙掉了!)。另外與或非分別寫成and、or、not。python還有成員運算符in、not in;身份運算符is,not is(用于比較兩個對象的存儲單元)
 - 
              
- 類
 
 
            
              
                class
              
              
                Person
              
              
                :
              
              
                #這是一個類變量,它的值將在這個類的所有實例之間共享
              
              
    n 
              
                =
              
              
                0
              
              
                #__init__構造方法,注意前后均有兩個_
              
              
                #self 代表類的實例,self 在定義類的方法時是必須有的
              
              
                #,雖然在調用時不必傳入相應的參數。
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                ,
              
               age
              
                )
              
              
                :
              
               
        self
              
                .
              
              name 
              
                =
              
               name
        self
              
                .
              
              age 
              
                =
              
               age
    
              
                def
              
              
                detail
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                #通過這個函數來調用被封裝的內容
              
              
                print
              
              
                (
              
              self
              
                .
              
              name
              
                )
              
              
                print
              
              
                (
              
              self
              
                .
              
              age
              
                )
              
              
        
obj1 
              
                =
              
               Person
              
                (
              
              
                'sss'
              
              
                ,
              
              
                16
              
              
                )
              
              
                #對象聲明
              
              
obj1
              
                .
              
              detail
              
                (
              
              
                )
              
               
obj1
              
                .
              
              name
obj1
              
                .
              
              n
            
          
          繼承格式
            
              
                class
              
               子類名
              
                (
              
              父類名
              
                )
              
              
                :
              
            
          
          構造方法重寫時用super關鍵字來使用父類構造方法
            
              
                class
              
              
                Father
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                )
              
              
                :
              
              
                class
              
              
                Son
              
              
                (
              
              Father
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                )
              
              
                :
              
              
                super
              
              
                (
              
              Son
              
                ,
              
               self
              
                )
              
              
                .
              
              __init__
              
                (
              
              name
              
                )
              
            
          
          - 
              
- 
                  基礎重載方法
                  
下表列出了一些通用的功能,可以在自己的類重寫: 
 - 
                  基礎重載方法
                  
 
            
              __init__ 
              
                (
              
               self 
              
                [
              
              
                ,
              
              args
              
                .
              
              
                .
              
              
                .
              
              
                ]
              
              
                )
              
              
構造函數
簡單的調用方法
              
                :
              
               obj 
              
                =
              
               className
              
                (
              
              args
              
                )
              
              
__del__
              
                (
              
               self 
              
                )
              
              
析構方法
              
                ,
              
               刪除一個對象
簡單的調用方法 
              
                :
              
              
                del
              
               obj
__repr__
              
                (
              
               self 
              
                )
              
              
轉化為供解釋器讀取的形式
簡單的調用方法 
              
                :
              
              
                repr
              
              
                (
              
              obj
              
                )
              
              
__str__
              
                (
              
               self 
              
                )
              
              
用于將值轉化為適于人閱讀的形式
簡單的調用方法 
              
                :
              
              
                str
              
              
                (
              
              obj
              
                )
              
              
__cmp__ 
              
                (
              
               self
              
                ,
              
               x 
              
                )
              
              
對象比較
簡單的調用方法 
              
                :
              
              
                cmp
              
              
                (
              
              obj
              
                ,
              
               x
              
                )
              
            
          
          - 模塊Module——是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句。使用 import 語句來引入模塊。
 
            
              
                # 導入模塊
              
              
                import
              
               support 
              
                # 現在可以調用模塊里包含的函數了
              
              
support
              
                .
              
              print_func
              
                (
              
              
                "Runoob"
              
              
                )
              
            
          
        
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
					微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
					
