Python数值型字符串校验

从键盘输入一行字符串,编写Python代码判定字符串是python“合法”数值。


(笔记模板由python脚本于2023年12月25日 18:00:52创建,本篇笔记适合熟悉Python符串基本数据类型的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


键盘输入一行数值型字符串
数值型字符串校验
(判定字符串是python“合法”数值)


本文质量分:

97

本文地址: https://blog.csdn.net/m0_57158496/article/details/135189292

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ Python数值型字符串判定
    • 1、题目描述
    • 2、算法解析
      • 2.1 数值型的3种异常
      • 2.2 笼统拦截异常
      • 2.3 Python数值型对象几种“神奇”的样貌
      • 2.4 无效字符校验
      • 2.5 构造格式校验
      • 2.6 前导0校验
    • 3、完整源码(Python)


◆ Python数值型字符串判定


1、题目描述


  • 题目描述截屏图片
    在这里插入图片描述
    题目来源于CSDN问答社区提问“Python复数”

  • 原题截屏图片
    在这里插入图片描述



回页目录


2、算法解析


  题目相对不难,考查字符串基础知识点。题主疑惑没有输出False是因为eval()函数将字符串“A”转换成python对象A,被python系统认为是变量名,在内存中找不到该变量而抛出“变量名未定义”的异常信息而中断程序运行,代码根本就没执行后面的语句,当然就不可能如预期输出False了哦。

  • 正如五月春生答主所言——
    回答截屏图片
    在这里插入图片描述

  • 如果不考虑非法输入,答主的代码完成可以胜任题目任务。

    代码运行效果截屏图片
    输入整型
    在这里插入图片描述
    输入浮点型
    在这里插入图片描述
    输入复数
    在这里插入图片描述

微调后的题主代码

#!/sur/bin/nve python
# coding: utf-8


def isNum(num):
    num = eval(num) # 调用eval函数把字符串转化为py对象。
    if type(num) == int: # 判定整型。
        return True
    elif type(num) == float: # 判定浮点型。
        return True
    elif type(num) == complex: # 判定复数。
        return True


if __name__ == '__main__':
    num = input()
    print(isNum(num))


回页目录


2.1 数值型的3种异常


  但,用户输入一般都是“不听话”的。为了程序健壮运行,不因抛出异常信息而中断,是要像题目给出的框架一样,进行异常拦截的。

  • 题目给出的异常拦截框架
    在这里插入图片描述


      鉴于此,接下来,我们就聊聊本题目中的异常拦截——

  1. 异常字符拦截

      python中的数值有整型、浮点型和复数,除了数字外整型和浮点型都可以有+-;浮点型必有.;复数必有+或-,末位必是j或J。除了数字和前述字符,均为python中的非法数值字符,会让eval函数抛出异常信息而中断程序运行。
    (虽然,python中的∞'inf',也是浮点型数值,但不可以直接输入,只可以借助float('inf')函数创建,不在本题目异常拦截范畴。“inf”三个字母大小写不敏感,可以任意输入,结果一样。)

  2. 数值型字符串构造格式异常拦截

      “+、-”字符不可以在数值型字符末位:浮点型字符串不可以有两“.”;复数的虚数单位j只可以在数值型字符串末位。

  3. 前导0异常拦截

      Python中的数整型int,是不是允许有前导0的,如果用int函数转换整型字符串成整型,会自动去除前导0。

回页目录


2.2 笼统拦截异常


  我们可以用try … except … 语法糖拦截所有异常,打印错误提示后,退出或者循环重新输入都可以。

  将前面的代码放入try … except之间(要注意每行都增加一个单位的缩进,以匹配try … except …语法糖代码块格式),就可以达到拦截所有异常的效果。这就“简单”解了此题目,如果在except之后给出对应的错误类型提示就更绝妙了。还可以在except关键字之后加上捕获python系统的异常类型的语句Exception as error,一并打印出来,效果更佳


  • 不同的异常拦截效果截屏图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    所有异常,都适用一种提示——“输入错误!”。

Python代码


def isNum(s):

    try:
        # 此处完善代码 #
        num = eval(s) # 调用eval函数把字符串转化为py对象。

        if type(num) == int: # 判定整型。
            return True
        elif type(num) == float: # 判定浮点型。
            return True
        elif type(num) == complex: # 判定复数。
            return True

    except:
        # 此处完善代码 #
        return f"\n{f' 输入错误!':~^35}\n"

# 下面两行代码请直接复制使用,不得修改 #
num = input()
print(isNum(num))



回页目录


2.3 Python数值型对象几种“神奇”的样貌


  Python中的数值类型对象允许有连续(重叠)的+、-号;浮点型和复数的虚部容许存在前导0;浮点型对象容许缺省为0的整数或者小数部分。


  • 有连续的+-号的数值对象
    在这里插入图片描述
  • 浮点型和复数的前导0
    在这里插入图片描述
  • 浮点型缺省为0的部分
    在这里插入图片描述

  这些个很神奇,Python为什么允许这样子,这有什么好处?我得在往后去探究探究……



回页目录


2.4 无效字符校验


  Python中的数值型除数字字符外,整型int只容许有“+、-”,浮点型容许有一个“.”,复数容许末位可以是大小写字母j。除此之外,皆是无效非法数值型字符。(这些,都是仅对python默认的十进制数值而言的)


  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

非法字符校验函数


def isChar(s):
    ''' 校验非法字符 '''
    
    for i in '+-.j': # 去除输入字符串中的+、-、.、j。
        s = s.replace(i, '')
    
    return s.isdigit()



回页目录


2.5 构造格式校验


  末位不能是字母j以外的字符,一个浮点数不可以有一个以上的小数点。


  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述

构造格式校验函数


def isOrder(s):
    ''' 数值构造格式校验 '''

    #if s[-1] != 'j' and s[-1].isdigit() or s.count('.') > 1: # 末位字符不是数字也不是虚数单位j,或者多于一个小数点。
    if s[-1] in list('-+') or s.count('.') > 1:
        return False

    return True



回页目录


2.6 前导0校验


  • 整型int不容许有前导0

      Python整型int前导0异常抛出的提示信息,中文为“金山词霸”app之机器翻译。
    在这里插入图片描述

  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

前导0校验函数


def isZero(s):
    ''' 前导零校验 '''

    #if str(int(s)) != s: # 利用int函数自动去除前导0特性检查前导0。
    if s[0] == '0' != ''.join(set(s)): # 如果不是全0字符串,不可以有前导0。
        return False
    
    return True


  复数和有两段数值型字符串的有理数表达式,有两段数值型字符串,都需要校验,有拆分需求。所以有了splitNums拆分函数:

splitNums函数


def splitNums(s):
    ''' 数值型字符拆分 '''
    nums, num = [], []
    
    for i in s:
        #if i.isdigit() or i == '.' or i == 'j':
        if i in list('0123456789.j') :
            num += [i]
        elif not i.isdigit() and num:
            nums += [''.join(num)]
            num = []

    if num:
        nums += [''.join(num)]
    
    return nums


数值型字符串校验函数isNums


def isNum(s):

    try:
        # 此处完善代码 #
        num = eval(s) # 调用eval函数把字符串转化为py对象。

        if type(num) == int: # 判定整型。
            return True
        elif type(num) == float: # 判定浮点型。
            return True
        elif type(num) == complex: # 判定复数。
            return True

    except Exception as error:
        # 此处完善代码 #
        s = s.lower() # 统一虚数单位小写,如果是复数。
        nums = splitNums(s)
        #print(nums) # 调试用语句。

        if not isChar(s):
            return f"False\n\n{f' 非法字符错误!':~^33}\n\n错误类型:{error}"
        elif s[-1] in list('-+'):
            return f"False\n\n{f' 数值字符串构造错误!':~^30}\n\n错误类型:{error}"

        for i in nums:            
            if not isOrder(i):
                return f"False\n\n{f' 数值字符串“{i}”构造错误!':~^30}\n\n错误类型:{error}"
            elif not isZero(i):
                return f"False\n\n{f' “{i}”前导0错误!':~^35}\n\n错误类型:{error}"

  isNum函数实现了对异常拦截类型的细分。



回页目录


3、完整源码(Python)

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8


def isChar(s):
    ''' 校验非法字符 '''
    
    for i in '+-.j': # 去除输入字符串中的+、-、.、j。
        s = s.replace(i, '')
    
    return s.isdigit()


def isOrder(s):
    ''' 数值构造格式校验 '''

    #if s[-1] != 'j' and s[-1].isdigit() or s.count('.') > 1: # 末位字符不是数字也不是虚数单位j,或者多于一个小数点。
    if s[-1] in list('-+') or s.count('.') > 1:
        return False

    return True


def isZero(s):
    ''' 前导零校验 '''

    #if str(int(s)) != s: # 利用int函数自动去除前导0特性检查前导0。
    if s[0] == '0' != ''.join(set(s)): # 如果不是全0字符串,不可以有前导0。
        return False
    
    return True


def splitNums(s):
    ''' 数值型字符拆分 '''
    nums, num = [], []
    
    for i in s:
        #if i.isdigit() or i == '.' or i == 'j':
        if i in list('0123456789.j') :
            num += [i]
        elif not i.isdigit() and num:
            nums += [''.join(num)]
            num = []

    if num:
        nums += [''.join(num)]
    
    return nums


def isNum(s):

    try:
        # 此处完善代码 #
        num = eval(s) # 调用eval函数把字符串转化为py对象。

        if type(num) == int: # 判定整型。
            return True
        elif type(num) == float: # 判定浮点型。
            return True
        elif type(num) == complex: # 判定复数。
            return True

    except Exception as error:
        # 此处完善代码 #
        s = s.lower() # 统一虚数单位小写,如果是复数。
        nums = splitNums(s)
        #print(nums) # 调试用语句。

        if not isChar(s):
            return f"False\n\n{f' 非法字符错误!':~^33}\n\n错误类型:{error}"
        elif s[-1] in list('-+'):
            return f"False\n\n{f' 数值字符串构造错误!':~^30}\n\n错误类型:{error}"

        for i in nums:            
            if not isOrder(i):
                return f"False\n\n{f' 数值字符串“{i}”构造错误!':~^30}\n\n错误类型:{error}"
            elif not isZero(i):
                return f"False\n\n{f' “{i}”前导0错误!':~^35}\n\n错误类型:{error}"


if __name__ == '__main__':
    num = input(f"\n{' Python数值字符串格式确认 ':=^31}\n\n输入:\n").strip() # 去除输入字符串前后空格。
    print(f"\n输出:\n{isNum(num)}\n\n{'':=^40}") # 调用主函数输出预期结果。



回页首


上一篇:  最大通关数(洛洛和晶晶计划一起挑战峡谷深渊,峡谷左右有不同数量的关卡,每个关卡需要不同的紫水晶通关,用给定的紫水晶依次通过最多的关卡)
下一篇: 



我的HOT博:

  本次共计收集289篇博文笔记信息,总阅读量44.72w。数据采集于2023年12月11日 23:07:13,用时5分11.8秒。阅读量不小于4.0k的有17篇。

  1. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    浏览阅读:6.2w
    点赞:127 收藏:809 评论:71
    (本篇笔记于2023-02-14 23:46:33首次发布,最后修改于2023-07-03 05:50:55)

  2. 让QQ群昵称色变的神奇代码
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    浏览阅读:5.8w
    点赞:24 收藏:86 评论:17
    (本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)

  3. Python列表(list)反序(降序)的7种实现方式
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    浏览阅读:9.9k
    点赞:5 收藏:30 评论:8
    (本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)

  4. pandas 数据类型之 DataFrame
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    浏览阅读:9.4k
    点赞:7 收藏:34 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    (本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)

  5. 个人信息提取(字符串)
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    浏览阅读:7.7k
    摘要:个人信息提取(字符串)_python个人信息提取。
    (本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)

  6. Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:7.2k
    评论:1
  7. 罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:7.2k
    (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

  8. 斐波那契数列的递归实现和for实现
    地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    浏览阅读:5.6k
    点赞:4 收藏:2 评论:8
  9. 回车符、换行符和回车换行符
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    浏览阅读:5.5k
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    (本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)

  10. python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:5.3k
  11. 练习:字符串统计(坑:f‘string‘报错)
    地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    浏览阅读:5.1k
  12. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    浏览阅读:5.1k
    点赞:14 收藏:44 
  13. 我的 Python.color() (Python 色彩打印控制)
    地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    浏览阅读:4.6k
    点赞:2 收藏:8 
    摘要:我的 Python.color() (Python 色彩打印控制)_python color。
    (本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)

  14. 练习:生成100个随机正整数
    地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    浏览阅读:4.6k
    (本篇笔记于2022-01-18 13:31:36首次发布,最后修改于2022-01-20 07:58:12)

  15. 密码强度检测器
    地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    浏览阅读:4.4k
    (本篇笔记于2021-12-06 09:08:25首次发布,最后修改于2022-11-27 09:39:39)

  16. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    浏览阅读:4.2k
    (本篇笔记于2022-01-20 19:38:12首次发布,最后修改于2022-01-21 18:32:02)

  17. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    浏览阅读:4.0k
    摘要:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)_生日模拟问题,计算频率,并画出随着试验次数n的增大,频率和理论概率的 关系图。
    (本篇笔记于2022-04-26 12:46:25首次发布,最后修改于2022-04-27 21:22:07)


推荐条件 阅读量突破4.0k
(更多热博,请点击蓝色文字跳转翻阅)

在这里插入图片描述
  (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/281391.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年终总结 —— 我和CSDN相遇的第一年之“技术学习和个人成长的回顾与展望”

​ ​ 🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 🎊对2023的总结与回顾🎊 🏅获奖记录 📚学…

1、gdb基本功能

文章目录 1、gdb1.1、运行1.1.1、程序入参 1.2、断点及观察点1.2.1、设置断点1.2.2、禁用、删除断点1.2.3、观察点 1.3、打印1.3.1、设定打印参数1.3.2、打印数据1.3.3、自动打印1.3.4、按照地址打印 linux下我现在接触到的常用调试工具如下. gbdgdbguicmake-tools gdb是最为通…

SLAM学习入门--传统图像处理

文章目录 传统图像处理颜色空间高斯滤波腐蚀和膨胀开运算和闭运算如何求一张图片的均值?线性插值双线性插值仿射变换透视变换常见的边缘检测算子Sobel 算法Canny 算法Hough 变换原理(直线和圆检测)找轮廓(findCountours&#xff0…

【网络安全 | Misc】Aesop_secret(ISCC)

正文 动态gif,使用工具进行分解: https://tu.sioe.cn/gj/fenjie/ 得到ISCC字样 由Winhex看到密文: U2FsdGVkX19QwGkcgD0fTjZxgijRzQOGbCWALh4sRDec2w6xsY/ux53Vuj/AMZBDJ87qyZL5kAf1fmAH4Oe13Iu435bfRBuZgHpnRjTBn5xsDHONiR3t0Oa8yG/tOKJMN…

故障诊断模型 | Maltab实现PSO-BP粒子群算法优化BP神经网络的故障诊断

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现PSO-BP粒子群算法优化BP神经网络的故障诊断 模型描述 在机器学习领域,我们常常需要通过训练数据来学习一个函数模型,以便在未知的数据上进行预测或分类。传统的神经网络模型需…

【大模型的前世今生】从自然语言处理说起

自然语言处理(Natural Language Processing,简称NLP)被誉为人工智能皇冠上的明珠,是计算机科学和人工智能领域的一个重要方向。它主要研究人与计算机之间,使用自然语言进行有效通信的各种理论和方法。简单来说&#xf…

基于 CefSharp 实现一个文件小工具

I’m not saying you can’t be financially successful I’m saying have a greater purpose in life well beyond the pursuit of financial success Your soul is screaming for you to answer your true calling You can change today if you redefine what success is to …

网络安全—认证技术

文章目录 加密认证对称密钥体制公钥密码体制公钥的加密公钥身份认证和加密 鉴别码认证MAC鉴别码 报文摘要认证认证 加密只认证数字签名 通过了解以前前辈们使用的消息认证慢慢渐进到现代的完整的认证体系。所以在学习的时候也很蒙圈,因为前期的很多技术都是有很严重…

matplotlib单变量和双变量可视化

使用seaborn 库的tips数据集,其中包含了某餐厅服务员收集的顾客付小费的相关数据(评论区) 单变量可视化 直方图 直方图是观察单个变量最常用的方法。这些值是经过"装箱"(bin)处理的 直方图会将数据分组后绘…

Vlan的封装模式和端口讲解(Access、Trunk、Hypbrid端口)

目录 Vlan的封装模式 ISL协议 802.1Q协议 二层接口类型 Access接口 Trunk接口 Hybrid接口 不同Vlan之间的通信 Vlan的作用(Vlan工作于OSI参考模型的第二层) Vlan(Virtual Local Area Network)虚拟局域网,将一个…

格密码基础:子格,q-ary垂直格与线性代数

目录 一.写在前面 二.子空间垂直 2.1 理论解释 2.2 举例分析 三. 零空间 3.1 零空间与q-ary垂直格 3.2 零空间与行/列空间 四. 格密码相关 一.写在前面 格密码中的很多基础原语都来自于线性代数的基本概念,比如举几个例子: 格密码中的非满秩格…

年底离职了?2024普通人失业怎么创业?2024创业风口!

有多少人会在12月份离职?这是近期热门的话题,年底了,离职潮也来了。是工作压力大?是跟同事相处不好?是公司发展没前景?不,统统都不是。离职无外乎一个原因:工资低! 我们除了打工还…

Mybatis 事务接口

当我们从数据源中得到一个可用的数据库连接之后,就可以开启一个数据库事务了,事务成功开启之后,我们才能修改数据库中的数据。 在修改完成之后,我们需要提交事务,完成整个事务内的全部修改操作,如果修改过…

分库分表之Mycat应用学习二

3 Mycat 概念与配置 官网 http://www.mycat.io/ Mycat 概要介绍 https://github.com/MyCATApache/Mycat-Server 入门指南 https://github.com/MyCATApache/Mycat-doc/tree/master/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%973.1 Mycat 介绍与核心概念 3.1.1 基本介绍 历史&#x…

Tomcat和Servlet

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Tomcat是什么?1.1下载:1.2 tomcat是什么1.3启动服务器: 二.部署三、Servlet3.1创建项目3.2引入依赖pom.xml的所有代码 3…

一文讲清数据资产化之确权和估值

《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》已发布一年,数据资产化和入表已成为2023年的热门话题,随着2023年底国家数据局吹风《"数据要素x"三年行动计划(2024-2026年)》即将发布,这…

磁盘管理-------RAID卡

目录 一、RAID概述 二、常见类型 (一)RAID 0 (二)RAID 1 (三)RAID 5 (四)RAID 6 (五)RAID 10 (六)总结 三、创建RAID &…

lambda函数

文章目录 定义捕捉列表的形式一些更复杂的捕捉列表组合代码演示演示一演示二演示三演示四演示五演示六 lambda 函数,是C11中新引入的函数式编程语法,lambda函数可以被定义在类中成员函数内部,全局函数的内部。它是一个局部函数(即…

springboot定时执行某个任务

springboot定时执行某个任务 要定时执行的方法加上Schedule注解 括号内跟 cron表达式 “ 30 15 10 * * ?” 代表秒 分 时 日 月 周几 启动类上加上EnableScheduling 注释