国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python中exit、return、sys.exit()等使用實例和區別

來源:懂視網 責編:小采 時間:2020-11-27 14:33:49
文檔

Python中exit、return、sys.exit()等使用實例和區別

Python中exit、return、sys.exit()等使用實例和區別:有這樣一道題目: 字符串標識符.修改例 6-1 的 idcheck.py 腳本,使之可以檢測長度為一的標識符,并且可以識別 Python 關鍵字,對后一個要求,你可以使用 keyword 模塊(特別是 keyword.kelist)來幫你. 我最初的代碼是: 代碼如下: #!/usr/bin/e
推薦度:
導讀Python中exit、return、sys.exit()等使用實例和區別:有這樣一道題目: 字符串標識符.修改例 6-1 的 idcheck.py 腳本,使之可以檢測長度為一的標識符,并且可以識別 Python 關鍵字,對后一個要求,你可以使用 keyword 模塊(特別是 keyword.kelist)來幫你. 我最初的代碼是: 代碼如下: #!/usr/bin/e

有這樣一道題目: 字符串標識符.修改例 6-1 的 idcheck.py 腳本,使之可以檢測長度為一的標識符,并且可以識別 Python 關鍵字,對后一個要求,你可以使用 keyword 模塊(特別是 keyword.kelist)來幫你.

我最初的代碼是:

代碼如下:


#!/usr/bin/env python

import string
import keyword
import sys

#Get all keyword for python
#keyword.kwlist
#['and', 'as', 'assert', 'break', ...]
keyWords = keyword.kwlist

#Get all character for identifier
#string.letters ==> 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
#string.digits ==> '0123456789'
charForId = string.letters + "_"
numForId = string.digits

idInput = raw_input("Input your words,please!")

if idInput in keyWords:
print "%s is keyword fot Python!" % idInput
else:
lenNum = len(idInput)
if(1 == lenNum):
if(idInput in charForId and idInput != "_"):
print "%s is legal identifier for Python!" % idInput
else:
#It's just "_"
print "%s isn't legal identifier for Python!" % idInput

else:
if(idInput[0:1] in charForId):
legalstring = charForId + numForId
for item in idInput[1:]:
if (item not in legalstring):
print "%s isn't legal identifier for Python!" % idInput
sys.exit(0)
print "%s is legal identifier for Python!2" % idInput
else:
print "%s isn't legal identifier for Python!3" % idInput

代碼完畢后,我測試每一條分支,測試到分支時,必須輸入_d4%等包含非法字符的標識符才能進行測試,我最初以為,sys.exit(0)---正常退出腳本,sys.exit(1)非正常退出腳本,但是實際情況是/9sys.exit(1),僅輸出返回碼不同):
代碼如下:


if (item not in legalstring):
print "%s isn't legal identifier for Python!" % idInput
sys.exit(0)

Input your words,please!_d4%
_d4% isn't legal identifier for Python!

Traceback (most recent call last):
File "E:/python/idcheck.py", line 37, in
sys.exit(0)
SystemExit: 0
>>>

由此可見,這樣做沒有達到我預期如下輸出的效果,那么,問題在哪里呢?在于sys.exit()始終會拋出一個SystemExit異常。

代碼如下:


Input your words,please!_d4%
_d4% isn't legal identifier for Python!

代碼如下:


#!/usr/bin/env python

import string
import keyword
import sys
import traceback

try:
#Get all keyword for python
#keyword.kwlist
#['and', 'as', 'assert', 'break', ...]
keyWords = keyword.kwlist

#Get all character for identifier
#string.letters ==> 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
#string.digits ==> '0123456789'
charForId = string.letters + "_"
numForId = string.digits

idInput = raw_input("Input your words,please!")

if idInput in keyWords:
print "%s is keyword fot Python!" % idInput
else:
lenNum = len(idInput)
if(1 == lenNum):
if(idInput in charForId and idInput != "_"):
print "%s is legal identifier for Python!" % idInput
else:
#It's just "_"
print "%s isn't legal identifier for Python!" % idInput

else:
if(idInput[0:1] in charForId):
legalstring = charForId + numForId
for item in idInput[1:]:
if (item not in legalstring):
print "%s isn't legal identifier for Python!" % idInput
sys.exit()
print "%s is legal identifier for Python!2" % idInput
else:
print "%s isn't legal identifier for Python!3" % idInput

except SystemExit:
pass
except:
traceback.print_exc()

上面的代碼獲取sys.exit()拋出的SystemExit異常。

return:在定義函數時從函數中返回一個函數的返回值,終止函數的執行。

exit:下面的代碼中,如果把sys.exit()替換成exit,則exit僅僅跳出離它最近的for循環, print "%s is legal identifier for Python!2" % idInput語句會被輸出,這里,exit的作用類似于break. 但實際上break和exit作用并不同

代碼如下:


for item in idInput[1:]:
if (item not in legalstring):
print "%s isn't legal identifier for Python!" % idInput
sys.exit()
print "%s is legal identifier for Python!2" % idInput

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python中exit、return、sys.exit()等使用實例和區別

Python中exit、return、sys.exit()等使用實例和區別:有這樣一道題目: 字符串標識符.修改例 6-1 的 idcheck.py 腳本,使之可以檢測長度為一的標識符,并且可以識別 Python 關鍵字,對后一個要求,你可以使用 keyword 模塊(特別是 keyword.kelist)來幫你. 我最初的代碼是: 代碼如下: #!/usr/bin/e
推薦度:
標簽: 區別 實例 和區別
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 免费国产视频 | 欧美影欧美影院免费观看视频 | 免费一区二区视频 | 天美传媒精品一区 | 国产一精品一aⅴ一免费 | 99久久国产亚洲综合精品 | 在线观看视频一区二区三区 | 97一级毛片全部免费播放 | 久久综合中文字幕一区二区 | 欧美一级视频在线观看 | 国产在线播放一区二区 | 国内偷自第一二三区 | 欧美视频精品一区二区三区 | 欧美精品亚洲网站 | 国产精品九九久久精品女同 | 国语清晰对白声音刺激 | 在线免费观看国产 | 日韩免费一区二区三区 | 国产成人99久久亚洲综合精品 | 日韩欧美一二区 | 亚洲一级二级三级 | 欧美不卡在线观看 | 911久久| 亚洲精品乱码久久久久 | 亚洲欧美另类在线观看 | 国产69精品久久久久999 | 国产一级特黄全黄毛片 | 亚洲欧美二区三区久本道 | 影音先锋亚洲综合小说在线 | 国产特级全黄一级毛片不卡 | 劲爆欧美精品13页 | 久久久久成人精品一区二区 | 中文字幕有码在线播放 | 国产高清不卡一区二区三区 | 国产精品久久久久影院 | 成人欧美一区二区三区视频 | 青青热久久国产久精品秒播 | 国产一区二区三区视频在线观看 | 国精品日韩欧美一区二区三区 | 国产精品资源在线观看 | 国产视频一二三区 |