python基础技巧总结(三)
前兩篇文章:
https://blog.csdn.net/hebtu666/article/details/81698235
https://blog.csdn.net/hebtu666/article/details/81698329
我們繼續(xù)總結(jié):
開啟文件分享
Python 允許運(yùn)行一個(gè) HTTP 服務(wù)器來(lái)從根路徑共享文件,下面是開啟服務(wù)器的命令:
python3 -m http.server
上面的命令會(huì)在默認(rèn)端口也就是 8000 開啟一個(gè)服務(wù)器,你可以將一個(gè)自定義的端口號(hào)以最后一個(gè)參數(shù)的方式傳遞到上面的命令中。
調(diào)試腳本
我們可以在 <pdb> 模塊的幫助下在 Python 腳本中設(shè)置斷點(diǎn),例子:
import pdb pdb.set_trace()直接迭代序列元素
對(duì)序列(str、list、tuple等),直接迭代序列元素,比迭代元素的索引速度要更快。
>>> l=[0,1,2,3,4,5] >>> for i in l:print(i) #快 >>> for i in range(len(l)):print(l[i]) #慢巧用else語(yǔ)句
python的else 子句不僅能在 if 語(yǔ)句中使用,還能在 for、while 和 try 等語(yǔ)句中使用,這個(gè)語(yǔ)言特性不是什么秘密,但卻沒有得到重視。
for:
l=[1,2,3,4,5] for i in l:if i=='6':print(666)break else:print(999)如果不這么實(shí)現(xiàn),我們只能設(shè)置一個(gè)變量來(lái)記錄了:
l=[1,2,3,4,5] a=1 for i in l:if i=='6':print(666)a=0break if a:print(999)while和for類似
看一下try:
try:a() except OSError:#語(yǔ)句1 else:#語(yǔ)句2僅當(dāng) try 塊中沒有異常拋出時(shí)才運(yùn)行 else 塊。
?總結(jié)一下else:
for:
僅當(dāng) for 循環(huán)運(yùn)行完畢時(shí)(即 for 循環(huán)沒有被 break 語(yǔ)句中止)才運(yùn)行 else 塊。
while:
僅當(dāng) while 循環(huán)因?yàn)闂l件為假值而退出時(shí)(即 while 循環(huán)沒有被break 語(yǔ)句中止)才運(yùn)行 else 塊。
try:
僅當(dāng) try 塊中沒有異常拋出時(shí)才運(yùn)行 else 塊。
即,如果異常或者 return、break 或 continue 語(yǔ)句導(dǎo)致控制權(quán)跳到了復(fù)合語(yǔ)句的主塊之外,那么else 子句也會(huì)被跳過(guò)。
?
?按正常的理解應(yīng)該是“要么運(yùn)行這個(gè)循環(huán),要么做那件事”。可是,在循環(huán)中,else 的語(yǔ)義恰好相反:“運(yùn)行這個(gè)循環(huán),然后做那件事。”
?
本次總結(jié)結(jié)束。
總結(jié)
以上是生活随笔為你收集整理的python基础技巧总结(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关系数据库——mysql常用函数总结
- 下一篇: python基础小白题2