国产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毛片在线播放直播 | 国产一区二区久久久 | 亚洲国产一区二区三区 | 成人看的一级毛片 | 国产一级特黄a大片99 | 国产成人一区二区三区影院免费 | 91久久综合九色综合欧美98 | 欧美精品日韩一区二区三区 | 91精品国产高清久久久久久91 | 亚欧免费视频一区二区三区 | 韩国一区二区三区 | 在线观看国产亚洲 | 伊人黄 | 在线日韩理论午夜中文电影 | 殴美aⅴ| 国产免费资源高清小视频在线观看 | 草b视频在线观看 | 欧美人在线一区二区三区 | 亚洲免费网站观看视频 | 国产91精品久久久久久久 | 欧美色图在线观看 | 国产日韩一区二区三区在线观看 | 国产成人夜色91 | 好看的电影网站亚洲一区 | 国产精选在线视频 | 国产精品久久久久久亚洲伦理 | 亚洲一区有码 | 91精品啪国产在线观看免费牛牛 | 亚洲清纯自偷自拍另类专区 | 国产日韩高清一区二区三区 | 日韩免费在线观看视频 | 一区在线免费 | 久久亚洲精品国产精品777777 | 亚洲欧美日本另类 | 亚洲精品乱码久久久久久v 亚洲精品免费观看 | 久久精品99久久香蕉国产色戒 | 欧美日韩国产综合视频在线看 | 天天色啪 | 欧洲一区二区三区在线观看 | 国产欧美日韩综合 | 日韩综合区|