新聞中心
python是一種解釋型語(yǔ)言,在開(kāi)發(fā)中,沒(méi)有了編譯這個(gè)環(huán)節(jié)。大部分腳本語(yǔ)言都是解釋型語(yǔ)言。

成都創(chuàng)新互聯(lián)是專業(yè)的和龍網(wǎng)站建設(shè)公司,和龍接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行和龍網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
沒(méi)有了編譯這個(gè)環(huán)節(jié),在開(kāi)發(fā)過(guò)程中,就無(wú)法知道自己所寫(xiě)代碼的語(yǔ)法正確性,只有實(shí)際執(zhí)行代碼才知道語(yǔ)法是否正確。這樣是不便于高效查錯(cuò)的。
所以,才有開(kāi)源項(xiàng)目pyflakes的出現(xiàn),它專門(mén)用于python程序的早期查錯(cuò)。
它使用起來(lái)非常簡(jiǎn)單,首先用pip安裝(pip install --upgrade pyflakes),然后用這個(gè)命令(pyflakes xxx.py)就能檢查xxx.py文件中的錯(cuò)誤。
下面是幾個(gè)例子:
例1:
python代碼(xxx.py文件中)
import os
for i in range(10)
print(i)
執(zhí)行pyflakes xxx.py輸出的結(jié)果
main1.py:3:19: invalid syntax
for i in range(10)
^
分析:
-
根據(jù)提示,在代碼的第三行,語(yǔ)法錯(cuò)誤
-
經(jīng)檢查,是for中少寫(xiě)了一個(gè)冒號(hào)
例2:
python代碼(xxx.py文件中)
import os
import time
import sys,os
for i in range(10):
print(i)
執(zhí)行pyflakes xxx.py輸出的結(jié)果
main2.py:2: 'time' imported but unused
main2.py:3: redefinition of unused 'os' from line 1
main2.py:3: 'os' imported but unused
main2.py:3: 'sys' imported but unused
分析:
-
代碼第2行中,導(dǎo)入的time模塊并未使用
-
代碼第3行中的os多次導(dǎo)入(跟第1行重復(fù))
例3:
python代碼
for i in range(10):
print(x)
執(zhí)行pyflakes xxx.py輸出的結(jié)果
main3.py:2: undefined name 'x'
分析
-
代碼第2行,x并未定義
-
這屬于比較嚴(yán)重的錯(cuò)誤,有時(shí)候可以發(fā)現(xiàn)變量名被敲錯(cuò)
總結(jié)
本例中的錯(cuò)誤,在實(shí)際代碼運(yùn)行時(shí),若走不到這個(gè)邏輯,運(yùn)行也不會(huì)報(bào)錯(cuò)。這留下了很嚴(yán)重的BUG,難以察覺(jué)。但用pyflakes,就能很快發(fā)現(xiàn)這些問(wèn)題。
分享名稱:創(chuàng)新互聯(lián)Python教程:找不出python的語(yǔ)法錯(cuò)誤該如何解決?
文章網(wǎng)址:http://www.dlmjj.cn/article/coshsjj.html


咨詢
建站咨詢
