摘要:前言本篇主要介紹基本數(shù)據(jù)類型,以文本進(jìn)度條為例,介紹庫的使用。
本篇主要介紹基本數(shù)據(jù)類型,以文本進(jìn)度條為例,介紹time庫的使用。
并在最后對蟒蛇繪制的代碼進(jìn)行分析。
(從本篇開始,出現(xiàn)的一些庫中函數(shù)介紹以及部分簡單代碼都將以圖片形式呈現(xiàn))
讀完本篇,你將了解:
1.方法論
Python語言數(shù)字及字符串類型
2.實(shí)踐能力
初步學(xué)會(huì)編程進(jìn)行字符類操作
本篇將系統(tǒng)介紹:
1.數(shù)字類型及操作(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)及相關(guān)函數(shù))
2.字符串類型及操作(字符串及字符串序號(hào)、操作函數(shù)、類型的格式化)
3.模塊2: time庫的使用(時(shí)間獲取、格式化、程序計(jì)時(shí)應(yīng)用)
4.實(shí)例3:文本進(jìn)度條(簡單開始->單行動(dòng)態(tài)刷新->完整效果)
了解基本數(shù)據(jù)類型之后, 通過字符串、數(shù)字的組合,將能很容易的操作字符,使我們能更好的開展程序設(shè)計(jì)
與數(shù)學(xué)中整數(shù)的概念一致,可正可負(fù),沒有取值范圍限制
(1)pow(x,y)函數(shù)∶計(jì)算x的y次方,由于整數(shù)沒有限制,想算多大算多大
(2)4種進(jìn)制表示形式
①十進(jìn)制:1010,99,-217
②二進(jìn)制,以0b或0B開頭:0b010,-OB101
③八進(jìn)制,以0o或0O開頭:0o123,-OO456
④十六進(jìn)制,以0x或0X開頭:0x9a,-0X89
與數(shù)學(xué)中實(shí)數(shù)的概念一致,帶有小數(shù)點(diǎn)及小數(shù)的數(shù)字
(1)注意:浮點(diǎn)數(shù)取值范圍和小數(shù)精度都存在限制,但常規(guī)計(jì)算可忽略
取值范圍數(shù)量級(jí)約-10^(308) 10^(308)
精度數(shù)量級(jí):10^-16
(2)不確定尾數(shù):浮點(diǎn)數(shù)間運(yùn)算存在不確定尾數(shù),不是bug
①舉例:>>> 0.1 + 0.3輸出0.4
>>> 0.1 +0.2輸出0.30000000000000004
涉及到計(jì)算機(jī)對數(shù)字運(yùn)算的內(nèi)部實(shí)現(xiàn)原理
②原理:計(jì)算機(jī)中采用二進(jìn)制表達(dá)數(shù)字,Python中采用53位二進(jìn)制表示小數(shù)部分,約10^-16
由于計(jì)算機(jī)中的二進(jìn)制跟十進(jìn)制之間,不存在嚴(yán)格的對等關(guān)系,計(jì)算機(jī)只能截取53位,無限接近0.1
輸出時(shí)只保留16位,之后的并未輸出。故二進(jìn)制與十進(jìn)制之間轉(zhuǎn)換出現(xiàn)不確定尾數(shù)
(3)round(x, d):對x四舍五入,d是小數(shù)截取位數(shù)
①浮點(diǎn)數(shù)間運(yùn)算及比較用round()函數(shù)輔助
②不確定尾數(shù)一般發(fā)生在10^-16左右,round()十分有效
(4)科學(xué)計(jì)數(shù)法
①格式:使用字母e或E作為冪的符號(hào),以10為基數(shù),格式如下:
(a)e(b)表示a*10b
②例如∶4.3e-3 值為0.0043或9.6E5值為960000.0
與數(shù)學(xué)中復(fù)數(shù)的概念一致
(1)定義j=√(-1),以此為基礎(chǔ),構(gòu)建數(shù)學(xué)體系
(2)a+bj被稱為復(fù)數(shù),其中,a是實(shí)部,b是虛部
(3)z.real獲得實(shí)部、z.imag獲得虛部
(4)客觀說常規(guī)編程中很少使用,但是它卻是進(jìn)行空間變換,尤其是跟復(fù)變函數(shù)相關(guān)的科學(xué)體系中最常用的一種類型
操作符是完成運(yùn)算的一種符號(hào)體系
(1)一些基礎(chǔ)操作符
注意:/的結(jié)果保留小數(shù)
(2)對二元操作符的增強(qiáng)型操作符
(3)數(shù)字類型的關(guān)系
類型間可進(jìn)行混合運(yùn)算,生成結(jié)果為"最寬"類型
①三種類型存在一種逐漸"擴(kuò)展"或"變寬"的關(guān)系∶
整數(shù)->浮點(diǎn)數(shù)->復(fù)數(shù)
②例如:123 +4.0 = 127.0 (整數(shù)+浮點(diǎn)數(shù)=浮點(diǎn)數(shù))
(1)Python提供的一些函數(shù)
(2)數(shù)字類型轉(zhuǎn)換函數(shù)
(1)字符串:
由0個(gè)或多個(gè)字符組成的有序字符序列
①字符串由一對單引號(hào)或一對雙引號(hào)表示:"請輸入帶有符號(hào)的溫度值: "或’C’
②字符串是字符的有序序列,可以對其中的字符進(jìn)行索引(從0開始)
如:"請"是"請輸入帶有符號(hào)的溫度值:”的第O個(gè)字符
(2)字符串有2類共4種表示方法
①由一對單引號(hào)或雙引號(hào)表示,僅表示單行字符串
如:“請輸入帶有符號(hào)的溫度值: “或’℃’
②由一對三單引號(hào)或三雙引號(hào)表示,可表示多行字符串(作用而言,也可當(dāng)作注釋使用)
‘’’ Python
語言‘’‘
③如果希望在字符串中包含雙引號(hào)或單引號(hào)呢?
若字符串中出現(xiàn)雙引號(hào),那么最外層的引號(hào)就要使用單引號(hào),反之
如:"這里有個(gè)雙引號(hào)(”)‘或者"這里有個(gè)單引號(hào)(’)”
④如果希望在字符串中既包括單引號(hào)又包括雙引號(hào)呢?
則用三個(gè)單引號(hào)表示
如:’‘’這里既有單引號(hào)(’)又有雙引號(hào)(")‘’‘
⑤故這4種方法存在冗余,使得字符串中出現(xiàn)單引號(hào)或者雙引號(hào)的處理更方便簡單
(3)字符串的序號(hào)
正向遞增序號(hào)和反向遞減序號(hào)
①使用[ ]獲取字符串中一個(gè)或多個(gè)字符
1)索引∶返回字符串中單個(gè)字符 <字符串>[M]
"請輸入帶有符號(hào)的溫度值: "[0]或者TempStr[-1]
2)切片:返回字符串中一段字符子串 <字符串>[M: N]
“請輸入帶有符號(hào)的溫度值:”[1:3]或者TempStr[0:-1]
(這里之前說過,不再多作贅述)
②字符串切片的高級(jí)用法
使用[M: N:K]根據(jù)步長對字符串切片
1)<字符串>[M: N],M缺失表示至開頭,N缺失表示至結(jié)尾
如:“o一二三四五六七八九十”[:3]結(jié)果是"O一二"(從最開始到3前一個(gè)為止)
2)<字符串>[M: N: K],根據(jù)步長K對字符串切片
“o一二三四五六七八九十”[1:8:2]結(jié)果是"一三五七"(從第一位置到第八位置前結(jié)束,步長為2?。?br /> 3)小技巧:將字符串逆序[::-1]
“o一二三四五六七八九十”[::-1]結(jié)果是"十九八七六五四三二一o"
(從最開始到結(jié)尾,步長-1(即從后向前逐一取出),相當(dāng)于逆序)
③轉(zhuǎn)義符
1)轉(zhuǎn)義符表達(dá)特定字符的本意
“這里有個(gè)雙引號(hào)(”)”結(jié)果為:這里有個(gè)雙引號(hào)(")
2)轉(zhuǎn)義符形成一些組合,表達(dá)一些不可打印的含義
如:"/b"回退“ /n"換行(光標(biāo)移動(dòng)到下行首)“ /r”回車(光標(biāo)移動(dòng)到本行首)
(1)由0個(gè)或多個(gè)字符組成的有序字符序列
(2)舉例:獲取星期字符串
輸入∶1-7的整數(shù),表示星期幾
輸出∶輸入整數(shù)對應(yīng)的星期字符串
例如∶輸入3,輸出星期三
weekStr = "星期一星期二星期三星期四星期五星期六星期日"weekId = eval(input("請輸入星期數(shù)字(1-7):"))pos = (weekId-1)*3 # 算出起始索引的位置print(weekStr[pos:pos+3]) # 使用切片操作,將切片結(jié)果返回給用戶
利用操作符改進(jìn)
weekStr = "一二三四五六日"weekId = eval(input("請輸入星期數(shù)字(1-7):"))print("星期"+weekStr[weekId-1])
(1)一些以函數(shù)形式提供的字符串處理功能
str和eval是一對對應(yīng)的函數(shù)
這兩個(gè)函數(shù)也是一對對應(yīng)函數(shù)
(2)Unicode編碼
Python字符串的編碼方式
①統(tǒng)一字符編碼,即覆蓋幾乎所有字符的編碼方式
②從0到1114111(Ox10FFFF)空間,每個(gè)編碼對應(yīng)一個(gè)字符
③Python字符串中每個(gè)字符都是Unicode編碼字符,使得Python程序不限于中文英文韓文日文俄文等
④一些有趣的例子:
>>> "1 +1 = 2 " +chr( 10004)輸出’1 +1 = 2 √’
(1)方法
"方法"在編程中是一個(gè)專有名詞
①"方法"特指(a).(b)風(fēng)格中的函數(shù)b()
②方法本身也是函數(shù),但與a有關(guān),是a能提供的函數(shù),必須a.b()風(fēng)格使用(面向?qū)ο蟮囊环N使用風(fēng)格)
③字符串及變量也是a,存在一些方法
(2)8個(gè)常用方法(字符串及變量也是a,存在一些方法)
①split()函數(shù):例子中用逗號(hào)分隔字符串,即只要出現(xiàn)逗號(hào)就會(huì)把字符串拆解為兩個(gè)部分
故A后的逗號(hào)就會(huì)將A多帶帶形成一個(gè)字符串,B同樣。然后將他們放成一個(gè)列表類型返回給用戶
②center()函數(shù):(對字符串格式進(jìn)行處理)根據(jù)width居中,居中后剩余兩側(cè)填充為fillchar(使打印規(guī)則的輸出處理簡易)
③strip()函數(shù):去除字符串左右兩側(cè)預(yù)定義字符
格式化是對字符串進(jìn)行格式表達(dá)的方式
(1)字符串格式化使用.format()方法,用法如下:
<模板字符串>.format(<逗號(hào)分隔的參數(shù)>)
(2)槽
相當(dāng)于一個(gè)占位信息符,它使用一對{}來表示,只在字符串中有用
①舉例
1)每一個(gè)槽中所要添加的內(nèi)容與.format方法中對應(yīng)的參數(shù)相一致
2)槽的3個(gè)順序在不指定的情況下默認(rèn)為012
3)將format方法中的參數(shù)按照對應(yīng)順序填到模板字符串的槽中
4)進(jìn)一步可在槽中指定需要添加的參數(shù)的位置
(3)Python語言使用槽機(jī)制加上format方法,來形成字符串的格式化
除參數(shù)序號(hào)之外,如果某一個(gè)槽中確定關(guān)聯(lián)的某一個(gè)參數(shù),可以對參數(shù)的輸出格式進(jìn)行控制。
在槽內(nèi)部使用格式化的控制標(biāo)記來進(jìn)行格式控制
(4)format()方法的格式控制
①槽內(nèi)部對格式化的配置方式
通過一個(gè)冒號(hào)來引導(dǎo)一些參數(shù),控制某一個(gè)變量在槽位置的輸出格式
Python一共提供了六種格式控制標(biāo)記
分為兩組記憶
②前三個(gè)參數(shù)為一組,這三個(gè)參數(shù)分別表達(dá)填充、對齊和寬度
基本模式:
1)給出一個(gè)輸出寬度
2)決定即將輸出的這個(gè)參數(shù)在這個(gè)寬度中的對齊方式
3)確定對齊方式之后,若還有空余空間,該填充什么字符
首先要給定填充,其次設(shè)定對齊,最后設(shè)定寬度
4)舉例
第一個(gè)例子中:
在一個(gè)模板字符串中,槽中給出“:=^20”。=指填充符號(hào),空余空間中填=的單字符
^表明居中對齊(>指右對齊)指的是所放入槽中的format方法中的第0個(gè)參數(shù)以居中對齊方式來顯示
20指輸出寬度
第三個(gè)例子中:
省略填充、對齊,直接給出寬度。默認(rèn)情況下填充為空格,變量左對齊
③后三個(gè)都是與具體的數(shù)字有關(guān)(控制數(shù)字類型輸出)
1)<,>:數(shù)字的千位分隔符(這種情況只有在輸出字符串,但是當(dāng)作數(shù)字給人閱讀的時(shí)候才會(huì)使用)
2)<.精度>:浮點(diǎn)數(shù)小數(shù)精度或字符串最大輸出長度
3)<類型>:我們以什么樣的類型將變量放到槽中
4)舉例
第一個(gè)例子中:
.2f表示保留兩位小數(shù)并使用千位分隔符
第二個(gè)例子中:
對425以:b的形式輸出二進(jìn)制格式,以:c的形式輸出字符形式(即Unicode編碼形式)
以:d的形式輸出十進(jìn)制格式, 以:o的形式輸出八進(jìn)制格式
以:x的形式輸出十六進(jìn)制格式, 以:X的形式輸出大寫十六進(jìn)制格式
第三個(gè)例子中:
以:e的形式采用科學(xué)計(jì)數(shù)法e形式表示浮點(diǎn)數(shù), 以:E的形式采用科學(xué)計(jì)數(shù)法E形式表示浮點(diǎn)數(shù),
以:f的形式采用通常的非科學(xué)計(jì)數(shù)法表示浮點(diǎn)數(shù), 以:%的形式采用百分號(hào)形式表示浮點(diǎn)數(shù)。
(1)time庫是Python中處理時(shí)間的標(biāo)準(zhǔn)庫
①計(jì)算機(jī)時(shí)間的表達(dá)
②提供獲取系統(tǒng)時(shí)間并格式化輸出功能
③提供系統(tǒng)級(jí)精確計(jì)時(shí)功能,用于程序性能分析
(2)使用方法:
import time
time.b()
以此調(diào)用相關(guān)函數(shù)(最典型最直接Python庫的使用方法)
(3)time庫包括三類函數(shù)
①時(shí)間獲取:time() ctime() gmtime()
②時(shí)間格式化并輸出: strftime() strptime()
③程序計(jì)時(shí)(time庫的重要功能): sleep(), perf_counter()
(1)一些函數(shù)
①時(shí)間戳是一個(gè)很長的浮點(diǎn)數(shù),表示從1970年1月1日0:00開始,到當(dāng)前這一時(shí)刻為止的,一個(gè)以秒為單位的數(shù)值
②ctime():給出一個(gè)具體的時(shí)分秒的時(shí)間(time庫中獲取人類譯讀方式時(shí)間的最簡單的函數(shù))
③gmtime():獲取當(dāng)前時(shí)間,但獲取后生成的格式不一樣,生成的是一種計(jì)算機(jī)程序可以處理的時(shí)間格式
(2)這三個(gè)函數(shù)基本能對獲取來的時(shí)間做所有可能的后續(xù)處理
將時(shí)間以合理的方式展示出來
(1)格式化
①格式化:類似字符串格式化,需要有展示模板
②展示模板由特定的格式化控制符組成(告訴程序輸出的時(shí)間大概是什么樣子)
③實(shí)現(xiàn)時(shí)間格式化的方法:strftime()方法
(2)strftime()
(3)時(shí)間格式化很重要的一點(diǎn)
將計(jì)算機(jī)內(nèi)部時(shí)間中,表達(dá)的年月日時(shí)分秒等相關(guān)的與時(shí)間有關(guān)的信息,用一種變量的形式進(jìn)行合理組合,并合理輸出
通過控制來表達(dá)輸出格式
(4)time庫中的控制符
格式:%+字母
(可回顧剛剛的例子)
(5)strptime()
將一個(gè)字符串變成一個(gè)計(jì)算機(jī)內(nèi)部可操作的一個(gè)時(shí)間(特定程序中才會(huì)使用)
(1)程序計(jì)時(shí)應(yīng)用廣泛
①程序計(jì)時(shí)指測量起止動(dòng)作所經(jīng)歷時(shí)間的過程
②測量時(shí)間: perf_counter()(獲取計(jì)算機(jī)中CPU以其頻率運(yùn)行的時(shí)鐘,往往以納秒來計(jì)算,非常精準(zhǔn))
③產(chǎn)生時(shí)間: sleep()(讓程序休眠或產(chǎn)生一定時(shí)間)
(2)perf_counter()
(3)sleep()
(1)文本進(jìn)度條
①采用字符串方式打印可以動(dòng)態(tài)變化的文本進(jìn)度條
②進(jìn)度條需要能在一行中根據(jù)程序的運(yùn)行逐漸變化(與時(shí)間有一定關(guān)系)
(2)如何獲得文本進(jìn)度條的變化時(shí)間?
采用sleep()模擬一個(gè)持續(xù)的進(jìn)度
(1)代碼實(shí)現(xiàn)
# TextProBarV1import timescale = 10print("------執(zhí)行開始------")for i in range(scale+1): a = "*" * i b = "." * (scale-i) c = (i/scale)*100 print("{:3.0f}%[{}->{}]".format(c, a, b)) time.sleep(0.1)print("------執(zhí)行結(jié)束------")
①該代碼完成了一個(gè)基本的文本進(jìn)度條框架
②執(zhí)行效果:生成一個(gè)有開始、結(jié)束標(biāo)記,且有一定進(jìn)度百分比表示的進(jìn)度條格式
(2)代碼簡單分析
①引入time庫,使用time庫的sleep()函數(shù)來生成一個(gè)持續(xù)不斷的時(shí)間
②打印“執(zhí)行開始”“執(zhí)行結(jié)束”作為標(biāo)簽
③定義變量scale=10,指文本進(jìn)度條的大概的寬度
④for循環(huán)模擬進(jìn)度:for i in range(n)結(jié)構(gòu)
⑤基本原理:定義休眠時(shí)間,每次循環(huán)都會(huì)打印當(dāng)前進(jìn)度條狀態(tài),進(jìn)行一個(gè)簡單的休眠
⑥for循環(huán)中的相關(guān)工作:
1)a等于字符(乘號(hào))與循環(huán)變量i的乘積(字符串與整數(shù)的乘積表示字符串被復(fù)制的次數(shù))
指當(dāng)前百分比所表達(dá)的信息
2)b等于’."與當(dāng)前剩余的進(jìn)度條的比例之間的乘積
3)a與b構(gòu)成當(dāng)前進(jìn)度比例中,與已經(jīng)執(zhí)行的和未知執(zhí)行的之間的對應(yīng)的(星號(hào))和‘."兩者之間的關(guān)系
4)變量c等于i除以scale乘以100,輸出與當(dāng)前進(jìn)度條與進(jìn)度相關(guān)的百分比
⑦print函數(shù)設(shè)置三個(gè)槽,在每個(gè)槽中增加了百分比以及相應(yīng)字符串
⑧指向效果如上圖
(1)單行動(dòng)態(tài)刷新:
刷新的關(guān)鍵是/r
①刷新的本質(zhì)是:用后打印的字符覆蓋之前的字符
②不能換行:print()需要被控制(print()默認(rèn)輸出之后會(huì)換行到下一行)
③要能回退:需要讓打印后光標(biāo)退回到之前的位置/r(輸出字符串之后,光標(biāo)會(huì)移動(dòng)到字符串之后)
(2)代碼實(shí)現(xiàn)
# TextProBarV1import timefor i in range(101): print("/r{:3}%".format(i), end="") time.sleep(0.1)
①使用time庫及sleep()函數(shù),101次的循環(huán)(0%到100%)
②代碼關(guān)鍵:print函數(shù)
輸出信息之后,增加,end=""這樣一個(gè)參數(shù),可以改變每一次print輸出最后增加的那個(gè)信息
比如在這里我們使end賦值為空字符串,那么print函數(shù)每一次輸出字符串之后,不會(huì)增加換行
只會(huì)把光標(biāo)停留在當(dāng)次輸出字符串的后面
③總結(jié):若希望輸出的字符串后面增加什么信息,就在end參數(shù)中增加,不希望增加換行,使end賦值為空字符串
④print的第一個(gè)參數(shù):/r,一個(gè)槽,并給出百分號(hào)
/r:打印輸出之前,它能夠使光標(biāo)退回到當(dāng)前行的行首
(1)代碼實(shí)現(xiàn)
# TextProBarV3import timescale = 50print("執(zhí)行開始".center(scale//2, "-"))start = time.perf_counter()for i in range(scale+1): a = "*" * i b = "." * (scale - i) c = (i / scale) * 100 dur = time.perf_counter() - start print("/r{:3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end="") time.sleep(0.1)print("/n"+"執(zhí)行結(jié)束".center(scale//2, "-"))
(2)代碼分析
與第一段代碼很接近,重點(diǎn)分析修改
①第一個(gè)和最后一個(gè)print,center函數(shù)用-填充在兩側(cè)
②增加計(jì)時(shí)效果:對程序進(jìn)度有更好的展示(程序運(yùn)行開始變量start開始時(shí)間)
③for循環(huán):保留abc變量,新增dur變量記錄每一次需要打印文本進(jìn)度條時(shí)所消耗的時(shí)間,當(dāng)前時(shí)間減去最開始記錄的時(shí)間
④for中的print函數(shù):打印文本進(jìn)度條
1)單行刷新效果:最開始增加/r,實(shí)現(xiàn)光標(biāo)向行首的移動(dòng)
2)同時(shí)print函數(shù)要增加end參數(shù),end賦值為空字符串:每次輸出之后不換行
(3)效果:具有一定格式框架,有進(jìn)度“*”輸出,又有時(shí)間記錄的完整的文本進(jìn)度條
(4)這段代碼覆蓋了字符串處理,覆蓋了數(shù)字處理,時(shí)間庫的使用
效果如圖
(1)計(jì)算問題擴(kuò)展
①文本進(jìn)度條程序使用了perf_counter()計(jì)時(shí)
②計(jì)時(shí)方法適合各類需要統(tǒng)計(jì)時(shí)間的計(jì)算問題
③例如︰比較不同算法時(shí)間、統(tǒng)計(jì)部分程序運(yùn)行時(shí)間
(2)進(jìn)度條擴(kuò)展
①在任何運(yùn)行時(shí)間需要較長的程序中增加進(jìn)度條
②在任何希望提高用戶體驗(yàn)的應(yīng)用中增加進(jìn)度條
③進(jìn)度條是人機(jī)交互的紐帶之一
(3)文本進(jìn)度條的不同設(shè)計(jì)函數(shù)(作擴(kuò)展用)
經(jīng)過本篇的學(xué)習(xí),可以大致掌握運(yùn)用time庫去實(shí)現(xiàn)基本的文本進(jìn)度條(本篇只是基礎(chǔ)),大家可以嘗試不同的進(jìn)度條設(shè)計(jì)風(fēng)格。善于使用time庫函數(shù)來抓取時(shí)間。
如有錯(cuò)誤,歡迎指正!
注:代碼非原創(chuàng)
下篇將介紹程序的控制結(jié)構(gòu)。
ps(又咕咕了)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/119817.html
摘要:將程序包裝在界面里,可以將輸入通過多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過文本框顯示出來將執(zhí)行信息如如報(bào)錯(cuò)信息運(yùn)行進(jìn)度通過文本框或進(jìn)度條顯示出來文章安排先介紹安裝和配合的使用。 作為一個(gè)程序的開發(fā)者,我們僅僅需要在相應(yīng)路徑通過命令行就可執(zhí)行那個(gè)程序。但是,不懂行的人不理解這個(gè)黑框框的東西,陌生領(lǐng)域任何人都沒有安全感,所以他們是拒絕接受一個(gè)項(xiàng)目僅僅只是通過一個(gè)黑框框來執(zhí)行的...
摘要:解析器在解析的時(shí)候?qū)嶋H上是依賴于解析器的,它除了支持標(biāo)準(zhǔn)庫中的解析器,還支持一些第三方的解析器比如,下面我們對支持的解析器及它們的一些優(yōu)缺點(diǎn)做一個(gè)簡單的對比。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---28、解析庫的使用:XPath下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---30、解析庫的使用:PyQuery 前面我們介紹了正則表達(dá)式的相關(guān)用法,但是一旦正則寫的有問題,可能得到的就...
摘要:官網(wǎng)全新的靜態(tài)包管理器。官網(wǎng)一個(gè)整合和官網(wǎng)的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。官網(wǎng)小巧的兼容的所見即所得的富文本編輯器。官網(wǎng)富文本編輯器。官網(wǎng)由制作,適用于每天寫作的富文本編輯器。 1. 包管理器 管理著 javascript 庫,并提供讀取和打包它們的工具。 npm:npm 是 javascript 的包管理器。官網(wǎng) cnpm:cnpm 是 由于國...
閱讀 2672·2021-11-23 09:51
閱讀 1947·2021-10-13 09:40
閱讀 1500·2021-09-30 10:01
閱讀 637·2021-09-26 09:46
閱讀 2329·2021-09-23 11:55
閱讀 1523·2021-09-10 10:51
閱讀 2373·2021-09-09 09:33
閱讀 2282·2019-08-29 17:25