網(wǎng)絡(luò)爬蟲學(xué)習(xí)筆記(2)
1 資料
- 《Python網(wǎng)絡(luò)爬蟲從入門到實踐》唐松,陳志銓。主要面向windows平臺下的python3。
- 菜鳥教程-》python
2 筆記
2-1 Python基礎(chǔ)(1)++
- python的列表還有一種只讀格式——元組Tuple,它用()進行賦值,且只能在初始化時賦值。
- 列表有追加元素的內(nèi)置方法append()
- 字典有內(nèi)置方法keys()(獲得所有鍵的值),values()
- 元組用 “( )” 標識, 列表用 “[ ]” 標識,字典用 “{ }” 標識
- type(變量) 查看該變量的數(shù)據(jù)類型,還可以用 isinstance(變量,類型) 來判斷是不是那種類型。type()不會認為子類是一種父類類型,isinstance()會認為子類是一種父類類型。
2-2 Python基礎(chǔ)(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'
)
- 循環(huán)語句——常用的有for循環(huán)和while循環(huán)兩種,同樣是()變成末尾的:。不過python的for循環(huán)形式上更接近foreach循環(huán),python中的循環(huán)還可以使用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循環(huán)中利用內(nèi)置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長度,即元素的個數(shù), range返回一個序列的數(shù)。(例子來自菜鳥)(菜鳥你的括號呢?)
fruits
=
[
'banana'
,
'apple'
,
'mango'
]
for
index
in
range
(
len
(
fruits
)
)
:
print
(
'當(dāng)前水果 :'
,
fruits
[
index
]
)
else使用例子(例子來自菜鳥)
for
num
in
range
(
10
,
20
)
:
# 迭代 10 到 20 之間的數(shù)字
for
i
in
range
(
2
,
num
)
:
# 根據(jù)因子迭代
if
num
%
i
==
0
:
# 確定第一個因子
j
=
num
/
i
# 計算第二個因子
print
(
'%d 等于 %d * %d'
%
(
num
,
i
,
j
)
)
break
# 跳出當(dāng)前循環(huán)
else
:
# 循環(huán)的 else 部分,不break跳出循環(huán)的話就會執(zhí)行
print
(
num
,
'是一個質(zhì)數(shù)'
)
此外循環(huán)中可以用continue、break、pass(什么也不做)。
3. 函數(shù)——參數(shù)(()里的內(nèi)容)必須要正確地寫入函數(shù)中
def
add
(
x
)
:
y
=
x
+
1
return
y
w
=
1
print
(
w
)
print
(
add
(
w
)
)
- 運算符,這里只提一下python中有**——冪 - 返回x的y次冪,//——取整除 - 返回商的整數(shù)部分(向下取整)并且沒有++、–(- -,間隙被間隙掉了!)。另外與或非分別寫成and、or、not。python還有成員運算符in、not in;身份運算符is,not is(用于比較兩個對象的存儲單元)
-
- 類
class
Person
:
#這是一個類變量,它的值將在這個類的所有實例之間共享
n
=
0
#__init__構(gòu)造方法,注意前后均有兩個_
#self 代表類的實例,self 在定義類的方法時是必須有的
#,雖然在調(diào)用時不必傳入相應(yīng)的參數(shù)。
def
__init__
(
self
,
name
,
age
)
:
self
.
name
=
name
self
.
age
=
age
def
detail
(
self
)
:
#通過這個函數(shù)來調(diào)用被封裝的內(nèi)容
print
(
self
.
name
)
print
(
self
.
age
)
obj1
=
Person
(
'sss'
,
16
)
#對象聲明
obj1
.
detail
(
)
obj1
.
name
obj1
.
n
繼承格式
class
子類名
(
父類名
)
:
構(gòu)造方法重寫時用super關(guān)鍵字來使用父類構(gòu)造方法
class
Father
(
object
)
:
def
__init__
(
self
,
name
)
:
class
Son
(
Father
)
:
def
__init__
(
self
,
name
)
:
super
(
Son
,
self
)
.
__init__
(
name
)
-
-
基礎(chǔ)重載方法
下表列出了一些通用的功能,可以在自己的類重寫:
-
基礎(chǔ)重載方法
__init__
(
self
[
,
args
.
.
.
]
)
構(gòu)造函數(shù)
簡單的調(diào)用方法
:
obj
=
className
(
args
)
__del__
(
self
)
析構(gòu)方法
,
刪除一個對象
簡單的調(diào)用方法
:
del
obj
__repr__
(
self
)
轉(zhuǎn)化為供解釋器讀取的形式
簡單的調(diào)用方法
:
repr
(
obj
)
__str__
(
self
)
用于將值轉(zhuǎn)化為適于人閱讀的形式
簡單的調(diào)用方法
:
str
(
obj
)
__cmp__
(
self
,
x
)
對象比較
簡單的調(diào)用方法
:
cmp
(
obj
,
x
)
- 模塊Module——是一個 Python 文件,以 .py 結(jié)尾,包含了 Python 對象定義和Python語句。使用 import 語句來引入模塊。
# 導(dǎo)入模塊
import
support
# 現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了
support
.
print_func
(
"Runoob"
)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
