python强势来袭-28-异常处理

第一个pyhton程序 Traceback (most recent call last): File “<stdin>“, line 1, in <module>NameError: name 第一个pyhton程序 Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 阅读详情

本节内容如下:

  1. 什么是异常,对异常的解释和描述,口语描述和专业术语的联系
  • 代码中出现错误的处理手段
  • 异常处理方式
    • 什么样的情况算异常
    • 捕获异常【try-except-else-finally】
    • 抛出异常【raise】
  • 常见异常

1. 什么是异常

我们程序在开发过程中,总会遇到各种各样的一些问题,有些是由于拼写、配置、选项等等各种引起的程序错误,有些是由于程序功能处理逻辑不完善引起的漏洞,这些统称为我们程序中的异常

所谓异常:就是不正常的情况,错误和漏洞都是不正常的情况,异常情况有时候也会称呼为BUG,也就是缺陷、漏洞的意思,程序执行过程中出现异常会影响程序的正常执行。

python中内置了一整套完善的异常处理机制,可以让开发人员快速针对出现问题的代码进行完善和处理。

我们针对python可能遇到的不同的异常情况,一般会做如下处理:

  • 如果是拼写、配置等等引起的错误,根据出错信息进行排查错误出现的位置进行解决
  • 如果是程序设计不完善引起的漏洞,根据漏洞的情况进行设计处理漏洞的逻辑;
    切记:合理的处理BUG也是程序设计开发的一部分

2. 错误处理

错误的出现,在程序中一般会有两种表现,一种是拼写错误,一种是程序执行过程中出现的错误,这样两种不同的错误应该怎么进行追踪和处理呢?

拼写错误

常规情况下,拼写错误只是在简单的记事本等环境下进行开发时,容易手误产生拼写错误;当前开发环境下,我们经常使用一些半自动化的IDE开发工具,如pycharm等等,可以进行简单的程序关键字的拼写检查以及程序结构的检查,把一些简单的拼写问题掐死在萌芽之中

程序设计开发的学习需要经历一个过程,建议开始的基础部分使用超级记事本进行开发,如editplus、ultraedit、sublime等等,对于基础的掌握会有一个非常不错的提升作用;进入后续的企业级项目开发阶段之后可以使用高级开发工具来提升我们的开发效率,如Pycharm、eclipse等等。

程序运行时错误

程序运行过程中,也会出现各种各样的错误,对于错误的出现和提示信息必须有一个比较明确的掌握,才能在后续的程序开发中快速的开发并且修复问题,这里就会出现两个步骤

  • 确定问题及问题出现的代码行
  • 后续的问题处理【参考后面的异常处理】

首先我们必须查询问题出现的错误提示信息,观察如下代码

# 程序测试
class Person(object):
    # 通过__slots__属性定义可以扩展的成员属性名称
    __slots__ = ("__name", "address", "age", "gender", "email")

    # 初始化方法
    def __init__(self, name):
        self.__names = name

    # 属性的set/get方法
    def get_name(self):
        return self.__name

    def set_name(self, name):
        self.__name = name

# 创建对象
p = Person("tom")
print(p.get_name())

这里我们使用的开发工具是PyCharm,代码开发过程中,必须时刻观察我们的编辑工具是否出现错误提示,如果出现错误提示就是关键字拼写问题或者程序结构设计问题,需要及时修改;上面的代码开发工具没有报错,那就直接运行代码,出现如下结果:

Traceback (most recent call last):
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py", line 18, in <module>
    p = Person("tom")
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py", line 7, in __init__
    self.__names = name
AttributeError: 'Person' object has no attribute '_Person__names'

运行结果中出现了错误,错误的名称是AttributeError,错误的提示是'Person' object has no attribute '_Person__names',简单翻译过来就是在Person对象中没有属性_Person__names
仅仅依靠这样的错误提示,我们已经了解到,可能是我们对象的属性操作过程中出现了什么错误,到底出现了什么错误呢?继续观察上面的错误代码:
从错误的第一行代码

Traceback (most recent call last):

这行代码的意思是跟踪错误的出现的过程,查看跟踪提示信息下面的第一行错误提示:

File "D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py", line 18, in <module>
    p = Person("tom")

首先在文件D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py的第8行出现了错误,错误代码是p = Person("tom"),这里是错误开始的地方,明显这里的代码没有什么错误,那就接着往下看

  File "D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py", line 7, in __init__
    self.__names = name

在文件D:/resp_work/PY_WORK/备课/模块化开发/demo04/demo10.py的第7行line 7出现的错误,主要代码是self.__names = name,看到这里,我们已经明确,是在我们程序的__init__(self, name)初始化方法中,写错了我们的属性名称,属性名称本意设置的是__name但是错误写成了__names,修改代码如下

# 程序测试
class Person(object):
    # 通过__slots__属性定义可以扩展的成员属性名称
    __slots__ = ("__name", "address", "age", "gender", "email")

    # 初始化方法
    def __init__(self, name):
        self.__name = name

    # 属性的set/get方法
    def get_name(self):
        return self.__name

    def set_name(self, name):
        self.__name = name

# 创建对象
p = Person("tom")
print(p.get_name())

执行代码,出现如下结果:

tom

说明错误正常处理了。

解决程序中遇到错误的核心操作
核心操作其实就是定位错误出现的行号,然后根据对代码执行前后的简单分析来定位出现错误的地方,简单的错误就可以直接修复;当然,某些情况下如果出现运行过程中可能会出现的错误,就是程序中的异常了,对于异常的处理,请参考后面的异常处理部分。

3. 异常处理

所谓异常,是程序执行过程中,出现了不正常的情况影响了整个程序的正常执行
所谓处理异常,就是先通过指定的条件捕获异常,捕获到异常之后进行后续的处理,以正常的情况提示并处理发生的异常,让程序正常的执行的过程
python中出现的所有的异常,都是直接或者间接继承自BaseException这个类的

代码中什么样的情况是异常?

python提供了一套try-except-finally的异常处理代码块,用于针对可能出现问题的代码进行容错和处理

异常处理的语法结构如下:

try:
    <正常要执行的代码语句,执行过程中可能会出现异常>
except <异常名称>:
    <对应异常的处理代码>
else:
    <如果没有异常,执行的后续代码>
finally:
    <无论是否出现异常,最终都会执行的代码>

接下来,观察下面这段代码的设计和执行过程,你能发现问题出现在哪里吗?

# 常规情况下的几行代码:计算两个数的加法运算
def add():
    num1 = int(input("请输入第一个数字:"))
    num2 = int(input("请输入第二个数字:"))
    num3 = num1 + num2
    print("两个数字计算的结果是:" +  str(num3))
# 调用函数开始计算
add()
# 执行结果
~请输入第一个数字:12
~请输入第二个数字:10
~两个数字计算的结果是:22

上述功能的程序设计时,已经考虑了诸多的问题,如用户输入的数据应该是字符串,代码中通过int()方法进行了强制类型转换,在最后输出数据的时候,由于num3是数值,数值和字符串不能直接用符号+连接,所以对num3又通过str()函数强制转换成了字符串。正常情况下,程序没有任何问题。

但是上述程序的缺陷并非正常流程下,而是如果用户在应该输入数字的情况下,输入了字母或者其他的非数字字符,程序就出现错误了,这个才是我们要解决的程序的BUG

>>> add()
请输入第一个数字:ab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in add
ValueError: invalid literal for int() with base 10: 'ab'

我们对上述函数进行如下改造:

# 常规情况下的几行代码:计算两个数的加法运算
def add():
    try:
        num1 = int(input("请输入第一个数字:"))
        num2 = int(input("请输入第二个数字:"))
        num3 = num1 + num2
        print("两个数字计算的结果是:" +  str(num3))
    except:
        print("您输入的数值非法,只能输入整数")

# 调用函数开始计算:执行过程如下
>>> add()
请输入第一个数字:12
请输入第二个数字:13
两个数字的和:25
>>> add()
请输入第一个数字:ab
您输入了非法的非数字字符

可以看到,上面通过添加try-except这样的一个代码块,完美的解决了我们出现的错误,不至于让错误导致程序的崩溃

异常处理的方式1——捕获异常

异常处理,python中是通过try-except语句代码块来执行处理的

try-except语句代码块处理异常通常有这样几种方式

  • 使用try-except直接包含并处理所有异常

    执行代码如下

    try:
    n = input("请输入数字:")
    num1 = int(n)
    print("您输入了数字:" + str(num1))
    except:
    print("出现异常,处理异常")
    print("程序继续执行,代码执行完成!")
    

    使用try-except直接包含并处理所有异常

  • 使用try-except-except-except嵌套处理指定的多个异常

    def add():
    try:
    n = input("请输入数字:")
    num1 = int(n) # 可能出现异常 ValueError
    print("您输入的数字是:" + num1) # 可能出现异常TypeError
    except ValueError as e: # 处理指定的ValueError异常
    print("输入的数据不是数字")
    except TypeError as e: # 处理指定的TypeError异常
    print("整数不能喝数字拼接")
    # 调用执行
    add()
    

    try-except-except-except嵌套处理指定的多个异常

  • 使用try-except-except-else处理异常并执行else代码块

    我们通过将可能出现异常的代码包含在try语句块中,如果程序执行正常,就执行后续的代码,可以将后续的代码放在else中执行

    # 编写记录用户输入的函数
    def add():
    try:
    n = input("请输入数字:")
    num1 = int(n)
    except:
    print("输入的数据不是数字")
    else:
    print("您输入的数字是:" + str(num1))
    add()
    

    try-except-except-else处理异常并执行else代码块

  • 使用try-except-except-finally处理异常并在finally中进行后续处理

    某些情况下,程序在操作的过程中,需要使用一定的资源,如打开文件读取或者向文件中写入数据,一旦操作完成,需要关闭和文件的链接释放资源。
    此时的流程就是:打开文件->读取/写入数据文件->关闭文件
    在读取/写入数据到文件时,可能会出现异常,此时的要求时,不论是否出现异常,最后的关闭文件的操作必须执行。

    # 操作文件的函数
    def readFile():
    try:
    # 打开文件
    f = open("d:/test.txt")
    # 写入内容
    f.write("这是要写到文件中的内容")
    except:
    print("文件读写错误")
    finally:
    # 关闭文件
    f.close()
    # 执行函数
    readFile()
    

    try-except-except-finally处理异常并在finally中进行后续处理

异常处理的方式2——抛出异常

某些情况下,我们捕获到异常信息,如果只是简单的进行处理,对后续的程序可能会造成一定的困扰,举一个简单的操作案例:老板让员工老李去采购一批办公用品

老板boss.py,让员工老李Emp.py,采购一批办公用品
员工老李去采购办公用品,结果出现异常情况,店面关门了;此时老李如果将这个异常自行处理了,就没有结果了。老板那里根本不知道老李发生了什么状况,最终功能没有完成的同时老板boss.py模块也没有得到任何结果。
结果就是~程序出现了BUG,老李遗憾的离职了…

换一种思路
老板boss.py,让员工老李Emp.py,采购一批办公用品
员工老李去采购办公用品,结果出现异常情况,店面关门了;此时老李将异常信息自行简单处理了一下,同时抛出异常信息汇报给老板:店面关门~可以做其他准备了;老板接收到老李抛给自己的异常信息,临时调整计划;最后功能完成了,老李升职了。


这时候我们必须得明确:异常可以捕获进行处理,适当的时候异常也需要抛出给调用者处理

请观察我们之前写过的如下代码:

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 异常的抛出,首先要捕获到异常,将难以理解的异常
# 转换成比较容易理解的异常抛出给调用者
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个输入数字的函数
def add():
    try:
        n = input("请输入一个数字:")
        num = int(n)
    except:
        # 如果出现异常,将ValueError异常转换成更加容易理解的异常
        raise ValueError("这里需要一个数字,您输入了非数字字符")

add()
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 转换之前抛出的异常
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
请输入一个数字:a
Traceback (most recent call last):
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo05/demo02.py", line 8, in <module>
    add()
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo05/demo02.py", line 4, in add
    num = int(n)
ValueError: invalid literal for int() with base 10: 'a'
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 转换之后抛出的异常:我们可以看到,这里的异常错误信息非常明确了
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Traceback (most recent call last):
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo05/demo02.py", line 8, in <module>
    add()
  File "D:/resp_work/PY_WORK/备课/模块化开发/demo05/demo02.py", line 6, in add
    raise ValueError("这里需要一个数字,您输入了非数字字符")
ValueError: 这里需要一个数字,您输入了非数字字符

抛出异常有两种情况,第一种情况,当前代码中可能存在异常,如果一旦出现异常直接抛出,让调用者进行后续的处理,第二种情况,当前代码中可能存在异常,但是出现异常的错误提示信息非常不明确,需要转换成我们定义的另一种异常抛出异常,让调用者更加明确出现的问题
不论是异常处理,还是抛出异常,核心都是为了更加方便的解决问题!

异常处理的方式3——抛出自定义异常

如果系统提供的异常不一定符合我们的需要,如用户登录失败,需要提示一个账号密码有误的异常信息,python中是没有提供这样的异常对象的,需要开发人员自定义异常来进行处理

我们从前面的内容中已经知道,所有的异常对象都是直接或者间接继承自BaseException
所以自定义异常如下:

# 自定义异常
class MyException(BaseException):
    pass
# 函数处理
def add():
    try:
        n = input("请输入一个数字:")
        num = int(n)
    except ValueError as e:
        # 抛出自定义异常信息
        raise MyError("这里需要一个数字,您输入了非数字字符%s" % n)

add()

自定义异常,在一定程度上扩展了异常的功能,更加方便我们在程序中进行不同错误的不同的处理手段和错误提示信息,使用的时候根据实际需要进行处理即可!

4. 常见的异常

BaseException 所有异常的基类
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
WindowsError 系统调用失败
ImportError 导入模块/对象失败
LookupError 无效数据查询的基类
IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于Python 解释器不是致命的)
NameError 未声明/初始化对象 (没有属性)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
IndentationError 缩进错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
TypeError 对类型无效的操作
ValueError 传入无效的参数
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告

以上就是小编所分享的内容,喜欢的话可以加个关注,希望能够帮助到大家,仅供参考

最后针对Android程序员,除了以上内容,我自己整理了一套最新的python系统资料可以免费送给大家,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。需要这些资料的朋友,可以进python学习交流群:851211580免费领取 。

希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!后续还会更新技术干货,谢谢您的支持!

Python中的traceback的基本用法(异常处理) 文章目录一.Traceback介绍二.Traceback中的相关函数1.traceback.print_exc 一.Traceback介绍 在日常开发中,我们会做一些基本的异常处理,但是有时候只能打印我们处理的结果或者将异常打印出来,不能直观的知道在哪个文件中的哪一行出错。 def func(num1, num2): try: x = num1 * num2 y = num1 / num2 return x, y except Exceptio 阅读详情

相关推荐

【Python】解决 ERROR: Exception:Traceback (most recent call last):(亲测有效)

1、遇到问题2、问题解决

Fanjufei的博客 1万+

python问题 Traceback (most recent call last)

python运行问题Traceback (most recent call last) 出现报错 traceback(most recent call last) ...... ...... importError:No module named lxml 解决方案一般是打开cmd 执行命令pip install xxxx(缺失的包,例如lxml) 当然也有例外的,具体可参考下面的问题及其解决...

weixin_43978056的博客 144万+

华为AC外置Portal认证方案配置步骤指南

华为AC外置Portal认证方案配置步骤指南

m0_46129105的博客 7665

第二十四节 异常

在❶处, 对变量contents (它现在是一个长长的字符串,包含童话《爱丽丝漫游奇境记》的全部文本)调用方法split() ,以生成一个列表,其中包含这部童话中的所有单词。该在什么情况下向用户报告错误?例如,他将知道你的程序文件的名称,还将看到部分不能正确运行的代码。使用try-except 代码块时,即便出现异常,程序也将继续运行:显示你编写的友好的错误消息,而不是令用户迷惑的traceback。如果try 代码块中的代码导致了错误,Python将查找与之匹配的except 代码块并运行其中的代码。

sunissnow的博客 2万+

从原始数据到农学模型:DJI M3M/P4M多光谱影像全链路处理实战

本文详细介绍了使用DJI M3M/P4M多光谱无人机进行农学建模的全链路流程。核心在于强调辐射标定的首要性,它将原始DN值转换为具有物理意义的反射率,是确保后续植被指数计算与模型反演准确性的基石。文章通过大疆智图和Pix4Dfields的实战演示,手把手指导完成数据处理、影像镶嵌及光谱信息提取,最终构建从光谱指数到叶面积指数等关键农学参数的反演模型,实现精准农业分析。

weixin_29281941的博客 243

前导0预测(Leading-Zero Anticipator,LZA)

前导0预测(Leading-Zero Anticipator,LZA) 浮点加法在完成之后会进行尾数规格化移位,而在进行尾数加法时,可以使用前导0预测(Leading-Zero Anticipator,LZA)同时计算移位,前导0预测只发生在一个正数加上一个负数的情况下,电路图如图1所示。 图1 传统LZD算法和LZA算法 1. 基础算法 算法的目标是计算出加法结果序列左边连续0的数量,下文中对...

crw1111111的博客 7375

python强势来袭-29-IOIOIO~输入输出

主要分析: 什么是IO 文件内容操作 操作文本文件 操作二进制文件 内存IO 初步认识io模块 目录和文件的操作 初步认识os模块 文件的创建、重命名、删除 目录的创建、重命名、删除 序列化操作 1. 什么是IO IO:Input/Output~输入/输出的意思 任何编程语言,核心都是对数据的处理,对数据的处理一般情况下就是指代数据的输入和输出 常规情况下,我们在程序运行的过...

python_doris的博客 648

从零到一:基于PX4+Gazebo+ROS2的无人机轨迹跟踪仿真环境全栈搭建

本文详细介绍了在Ubuntu 22.04系统上,从零开始搭建基于PX4、Gazebo Garden和ROS2 Humble的无人机轨迹跟踪仿真环境的完整流程。内容涵盖PX4 SITL编译、Gazebo安装、ROS2配置、Micro XRCE-DDS Agent通信桥接以及QGroundControl地面站部署,并提供了创建自定义ROS2节点实现圆形轨迹跟踪的实战代码与关键调试技巧,帮助开发者快速构建全栈仿真开发环境。

swift5iosmith的博客 913

python输入输出语法_python强势来袭-0030-IOIOIO~输入输出

农历五月初一宜声明变量"a",提交代码;忌打DOTA,提交BUG适宜方位:坐西朝东多饮水、鲜奶,女神亲近指数较高进入正题本节内容如下:什么是IO文件内容操作操作文本文件操作二进制文件内存IO初步认识io模块目录和文件的操作初步认识os模块文件的创建、重命名、删除目录的创建、重命名、删除序列化操作1. 什么是IOIO:Input/Output~输入/输出的意思任何编程语言,核心都是对数据的处理,对数...

weixin_39954908的博客 169

避坑指南:雅特力AT32F403A在Keil5中的V2库配置常见问题解析

本文详细解析了国产MCU雅特力AT32F403A在Keil5中配置V2库的常见问题,包括工程创建、库文件配置、编译错误和外设设置等关键环节。针对项目文件夹结构混乱、芯片型号选择错误、头文件路径设置不当等典型问题提供实用解决方案,帮助开发者高效避坑,提升开发效率。

weixin_30335575的博客 375

基于Simulink的双向DC-DC变换器在储能系统中的应用仿真

摘要:本文详细介绍了基于Simulink的双向DC-DC变换器在光伏储能系统中的仿真实现。主要内容包括:1)采用非隔离型双向Buck-Boost拓扑作为储能系统枢纽;2)针对750V直流微网中的20kWh锂电池接口场景进行建模;3)详细阐述双闭环控制器设计(电压外环+电流内环)、工作模式判断逻辑等关键步骤;4)通过仿真验证了系统在功率阶跃和模式切换下的性能。文章提供了完整的建模流程和控制方法,为储能系统接口设计提供了实用参考。

amy_mhd的博客 178

python异常处理_看完本文若不能让你学通Python,我愿此生退出编程界

零基础小白如何学习Python?今天我诶大家分享一些Python的视频教程和基本概念图,以及学习路上最有效的学习方法。学习Python的前景未来1,Python前景发展Python语言中有一个特点就是没有什么特别强势的,但是它可以使用非常多的范畴,并效率搞得可怕,Python使用范畴非常的多,现在据了解国内应该没有太多的人学习Python,而且Python的招聘和薪资确实是非常的高,现在有许多大型...

weixin_39756481的博客 86

【数据集处理】中国地面气候资料日值数据集(V3.0)(含MATLAB全代码)

简介数据集数据处理

WW、forever的博客 1万+

python异常处理_看完本文若不能让你学通Python,我愿退出编程界

零基础小白如何学习Python?今天我诶大家分享一些Python的视频教程和基本概念图,以及学习路上最有效的学习方法。学习Python的前景未来1,Python前景发展Python语言中有一个特点就是没有什么特别强势的,但是它可以使用非常多的范畴,并效率搞得可怕,Python使用范畴非常的多,现在据了解国内应该没有太多的人学习Python,而且Python的招聘和薪资确实是非常的高,现在有许多大型...

weixin_39624461的博客 91

如何使用VNC对openEuler系统进行远程图形化操作

本文详细介绍了在openEuler系统中配置VNC远程图形化操作的方法。主要内容包括:1)服务端配置:安装GNOME图形界面和TigerVNC服务,创建VNC用户并设置密码,配置VNC服务启动脚本;2)客户端连接:使用VNC Viewer等工具连接服务器;3)常见问题解决方法。通过5901端口建立连接后,用户可远程操作openEuler图形界面,适用于需要图形化管理的场景。

2501_93651177的博客 313

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

2025年Java强势入侵AI领域:Python的主导地位能否被撼动?

Java在AI领域的崛起并非对Python的全面替代,而是企业级市场对技术栈收敛的必然选择。随着Project Babylon、Valhalla等技术的成熟,Java有望在2025-2027年成为AI工程化部署的首选语言。对于开发者而言,掌握Spring AI等框架,并深入理解JVM性能调优,将成为未来三年的核心竞争力。这场“静默的革命”或许不会终结Python的时代,但它无疑为AI开发的工业化进程开辟了一条新的道路。参考资料Azul Systems《2025 Java现状调查报告》

TuFuir的博客 1739

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

mybatis-generator 报错 类转换异常_异常处理\套接字编程

异常处理什么是异常异常是错误发生的信号,一旦程序出错就会产生一个异常错误又分为两类语法错误:python语法问题例print( 少一个括号(傻叉问题)(任何程序都不会运行)逻辑错误:如dlskf,这个变量未定义就被引用如果该异常没有被处理,该异常就会被抛出来,程序的运行随机终止异常是有三部分组成的抛出异常的具体代码行异常种类NameErroe:变量未事先定义IndexError:索引不存在KeyE...

weixin_39605296的博客 175

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python:带你发现藏在try语句中的秘密,谁也没想到代码里还藏着狗血剧情

当try遇到return,竟然还有这样的秘密

monsterk1的博客 735

python 重定向 ctf_python,ctf笔记随笔

一、在centos虚拟机中安装pyhton3环境:安装pip3:yum install python36-pip将pip升级到最新版本:pip3 install --upgrade pip运行pip:pip安装requests模块:pip install requests列出系统中已经安装的所有的python模块:pip list二、IDLE与python脚本1、 使用Python,既可以编辑成脚...

weixin_39964833的博客 879

Python学习

Python学习——上Python注释Python 变量数据类型Python运算符Python 输入—输出Python小案例Python分支Python循环🌰 分支循环Python常用数据类型操作Python函数 Python注释 注释的作用: 帮助理解代码 提升效率,便于他人读懂代码 可用于调试代码 注释的方法: 行开头加# #这是单行注释 用三个引号(单或双均可) '''这也是一行注释''' """同上""" ''' 甚至可以 多行注释 ''' """ 同 上 """" 特殊注释(

博客 1367

某只股票量化对冲策略计算绘图

摘要 本文介绍了一个基于Python的量化对冲策略分析工具,使用akshare获取股票数据,通过pandas进行量化指标计算,并采用matplotlib可视化分析结果。代码实现了: 主要功能:获取股票数据(默认上证指数),计算包括主力资金、成本分布、妖股信号等12种量化指标 技术特点:使用指数移动平均(EMA)、滚动窗口计算高低点、多条件信号判断 可视化方案:生成4个子图分别展示价格走势、资金指标、信号触发和风险收益比 容错机制:数据获取失败时自动切换为随机数据,确保程序持续运行 使用说明:支持自定义股票代

qq_43596960的博客 1455

【手把手教你】用 Python 捕捉股票主拉升行情

有了数据和指标,接下来就是主拉升逻辑检测模块,将前面计算的各项技术指标进行整合,结合主拉升阶段的核心特征设定判断规则,比如当价格突破关键位置、成交量同步放大且均线呈现多头排列时,系统就会发出主拉升预警信号。技术分析是捕捉行情信号的重要工具,重点计算几类关键指标:包括用于判断趋势方向的均线系统,用于验证量价配合度的成交量相关指标,用于识别价格突破信号的布林带指标等,这些指标从不同维度刻画股票的运行状态,为后续的主拉升判断提供坚实支撑。而在熊市中,同样的突破可能只是一次短暂的反弹,随后便是更深的下跌。

Python金融量化 706

看完本文若不能让你学通Python,我愿此生退出编程界+python交流学习群

零基础小白如何学习Python? 今天我给大家分享一些Python的视频教程和基本概念图,以及学习路上最有效的学习方法。 学习Python的前景未来 1,Python前景发展 Python语言中有一个特点就是没有什么特别强势的,但是它可以使用非常多的范畴,并效率高得可怕,Python使用范畴非常的多,现在据了解国内应该没有太多的人学习Python,而且Python的招聘和薪资确实是非常的高,现在有许多大型互联网公司都是高薪聘请Python开发人员如:腾讯,阿里巴巴,百度,搜狐,微软,谷歌,华为 2

MUMUBIANCHENG的博客 564

Python为什么会是爬虫的主流?Python和其他语言相比有什么优势之处呢?

2)强大的第三方库:Python拥有大量的第三方库,其中就包括很多用于网络爬虫的库,如BeautifulSoup、Requests、Selenium等,这些库可以帮助我们快速地进行网页爬取。这个程序使用了Python的requests库和BeautifulSoup库,requests库用于发送HTTP请求和获取HTML内容,BeautifulSoup库用于解析HTML内容。1)简单易学:Python语法简单,结构清晰,代码易读易懂,上手容易,不需要像其他语言一样深入学习编译器和内存管理。

qq_70209887的博客 977

华为python入门_看完本文若不能让你学通Python,我愿退出编程界

零基础小白如何学习Python?今天我诶大家分享一些Python的视频教程和基本概念图,以及学习路上最有效的学习方法。学习Python的前景未来1,Python前景发展Python语言中有一个特点就是没有什么特别强势的,但是它可以使用非常多的范畴,并效率搞得可怕,Python使用范畴非常的多,现在据了解国内应该没有太多的人学习Python,而且Python的招聘和薪资确实是非常的高,现在有许多大型...

weixin_32768455的博客 482

国家认证的Python技术工程师有什么能力要求?

Python这门语言近来是越来越火,在国家层面越来越被重视。除了之前热议的加入高考和中小学教育之外,现在连普通大学生也无法逃脱Python的毒手了。文章最后有免费的Python资料,获取方式,关注头条号,私信回复资料获取下载链接。资料目录在文章底部,欢迎评论转发收藏下载。今年Python业已加入NCRE(全国计算机等级考试)豪华套餐,与Java、C、C++等传统的强势语言并列。属于Python的首...

weixin_34269583的博客 1万+
上一篇: python强势来袭-27-面向对象回旋踢~不得不说的特性~
下一篇: python强势来袭-29-IOIOIO~输入输出
python-花猫
博客等级 码龄7年 105粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值