广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中,exit,return,
  • 125
分享到

python中,exit,return,

pythonexitreturn 2023-01-31 07:01:39 125人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

    有这样一道题目:  字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 python 关键字,对后一个要求,你可以使用 keyWord 模块(特别是 keyword.kelis

    有这样一道题目:  字符串标识符.修改例 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 <module>
    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

--结束END--

本文标题: python中,exit,return,

本文链接: https://www.lsjlt.com/news/191629.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中,exit,return,
        有这样一道题目:  字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelis...
    99+
    2023-01-31
    python exit return
  • Shell中exit和return的区别讲解
    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程。使用格式如下: exit [<n>] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异...
    99+
    2022-06-04
    shell中exit和return shell中exit和return的区别讲解
  • Shell中exit和return的区别有哪些
    这篇文章主要介绍了Shell中exit和return的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.exit命令exit命令是Shell内建命令,用于退出当前S...
    99+
    2023-06-09
  • C语言return,exit,abort的区别
    一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数。 和return相比,exit并不会销毁局部对象,而是会销...
    99+
    2022-11-12
  • c语言中exit和return的区别点总结
    1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出...
    99+
    2022-11-12
  • C语言中return、exit和abort的区别是什么
    这篇文章将为大家详细讲解有关C语言中return、exit和abort的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一般情况下,在C语言中退出一个程序用return,如果在mai...
    99+
    2023-06-22
  • python中exit()的用法
    最近在学习的时候用到exit(),发现对它的用法还不熟悉,通过查阅网上的资料,对exit()的用法做一个简单的整理。 sys.exit(n) 退出程序引发SystemExit异常,可以捕获异常执行些清理工作。n默认值为0,表示正...
    99+
    2023-01-31
    python exit
  • python中Return浅析
       return 语句是Python语言中函数返回的一个值,每个函数都应该有一个返回值;其中,return返回值可以是一个数值,一个字符串,一个布尔值或者一个列表。    Python 函数返回值return ,函数中一定要有...
    99+
    2023-01-31
    python Return
  • Python exit()函数
    调用exit()函数,终止Python程序。   exit(num)   名称 说明 备注 num 程序退出类型,整型参数 可省略的参数。通常情况下0表示程序正常退出,1表示程序遇到了某个错误而导致退出。实际运用中可以使用任何整型...
    99+
    2023-01-31
    函数 Python exit
  • python 中的 return 解析
    return 语句用于退出函数,向调用方返回一个表达式。执行到 return 语句时,会退出函数,return 之后的语句不再执行。 如: def my_print(x):     ...
    99+
    2022-11-13
  • python中return怎么用
    小编给大家分享一下python中return怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python return用法:1、返回函数的返回值;2、终止程序的运行,提前退出,例如,当函数内有错误发生时,使用retur...
    99+
    2023-06-06
  • Python中return的用法
    本篇内容介绍了“Python中return的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python中return的用法1、retur...
    99+
    2023-06-20
  • exit(-1)或者return(-1)shell得到的退出码为什么是255
    下面我写了一个hello world程序,一起看看吧: // filename: main.c #include <stdio.h> int main(void) { print...
    99+
    2022-06-04
    为什么是 return exit
  • python中return怎么使用
    python中return怎么使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  1、return语句就是把执行结果返回到调用的地方,并把程序的控制权一起返回  程序运行...
    99+
    2023-06-02
  • python: return 函数
    Syntax 当 不设置 return参数项 时,默认 返回None 而 不是False 。 当 连 return 都不写 时,默认 return None 。 return 参数项 是否返回 返回值 无 - 有 No...
    99+
    2023-01-31
    函数 python return
  • javascript中return,return true,return false三者的用法
    在JavaScript中,return语句用于从函数中返回一个值。它可以与true和false一起使用,具体用法如下:1. return:当函数执行到return语句时,会立即停止执行,并返回后面的表达式的值(如果有的话),作为函数的返...
    99+
    2023-08-09
    javascript
  • python中return是什么意思
    python中return是指返回数值的意思,它可以选择性地返回一个值给调用方,语法格式“return [表达式]”,如果不带表达式则return返回的是None。具体使用步骤:首先打开python编辑器,新建一个python项目。在pyt...
    99+
    2022-10-11
  • return在python中怎么使用
    在Python中,可以使用`return`关键字来从函数中返回一个值。语法如下:```pythondef function_name...
    99+
    2023-09-15
    python
  • python函数中 return语句 之
    return语句用于退出函数,向调用方返回一个表达式。return在不带参数的情况下(或者没有写return语句), 默认返回None。None是一...
    99+
    2023-01-31
    语句 函数 python
  • python中的return有什么用
    这篇文章给大家分享的是有关python中的return有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。return 语句用于退出函数,向调用方返回一个表达式。执行到 return 语句时,会退出函数,ret...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作