Python-VBA函数之旅-abs函数

2024-04-08 02:44
文章标签 python 函数 vba 之旅 abs

本文主要是介绍Python-VBA函数之旅-abs函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        abs函数绝对值函数(absolute value function)的缩写,在编程中有多种实际应用场景,因为它能够方便地处理需要忽略数值符号的情况。常见的应用场景有:

1、数值处理:在数据分析和科学计算中,经常需要处理各种数值。使用abs函数可以确保获得的数值是非负的,从而避免产生错误结果或无效数据。例如,在Python中,当我们需要计算一组数的总和或平均值时,如果这组数包含负数,使用abs函数可以确保结果是非负的。

2、距离计算:在计算机视觉、机器学习和模式识别等领域,经常需要计算两个向量或点之间的距离。通过将绝对值应用于差值,我们可以得到正确的距离值。例如,使用abs(x2-x1)和abs(y2-y1)可以计算二维平面上两点之间的距离。

3、数值排序:在排序算法中,可能需要按照数值的大小对数据进行排序。使用abs函数可以将负数转换为正数,从而确保排序的准确性。

4、数据库查询:在SQL查询中,abs函数也发挥着重要作用。例如,当我们想要找出最大的订单金额而不考虑其正负时,可以使用abs函数对订单金额取绝对值。同样,当比较工资或其他数值字段时,abs函数可以帮助我们忽略符号差异,只关注数值的大小。

5、信号处理:在信号处理领域,abs函数常用于计算信号的幅值,即信号的绝对值。这对于分析信号的强度和变化非常有用。

6、逻辑操作:在某些逻辑操作中,我们可能希望忽略数值的符号。使用abs函数可以确保比较或计算操作基于数值的绝对值进行。

7、数据验证:在处理数据时,abs函数还可以用于验证数据的偏差或变化范围。例如,通过计算数据点与平均值的绝对差值,我们可以评估数据的离散程度。

        综上所述,abs函数在编程中的实际应用场景非常广泛,涉及数据分析、科学计算、图像处理、信号处理等多个领域。

 

1、abs函数:
1-1、Python:
# 1.函数:abs(absolute value function,取绝对值函数前3个字母命名)
# 2.功能:用于计算一个数的绝对值
# 3.语法:abs(x)
# 4.参数:
# 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的Python表达式,包括变量、常量、算术表达式或函数调用等.
# 4-2. x可以是整数、浮点数或复数.
# 5.返回值:返回x参数的绝对值.
# 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用abs(x)函数(例如字符串或列表),
#        Python会抛出一个TypeError异常,因为abs()函数只能接受数值类型的参数.
# 7.示例:
# 整数
positive_int = 10
negative_int = -10
print(abs(positive_int))  # 输出: 10
print(abs(negative_int))  # 输出: 10# 浮点数
positive_float = 3.14
negative_float = -2.71
print(abs(positive_float))  # 输出: 3.14
print(abs(negative_float))  # 输出: 2.71# 零
zero = 0
print(abs(zero))  # 输出: 0# 复数(返回复数的模,即绝对值)
complex_num = 3 + 4j
print(abs(complex_num))  # 输出: 5.0(即sqrt(3^2 + 4^2))# 使用变量
num = -10
absolute_value = abs(num)
print(absolute_value)  # 输出: 10# 使用常量
print(abs(-3.14))  # 输出: 3.14# 使用算术表达式
print(abs(4 - 9))  # 输出: 5# 使用函数返回值
def get_negative_number():return -5
print(abs(get_negative_number()))  # 输出: 5# 使用非数值类型,发出的报警信息
# print(abs("myelsa"))
# TypeError: bad operand type for abs(): 'str'
# 8.运行结果:
# 10
# 10
# 3.14
# 2.71
# 0
# 5.0
# 10
# 3.14
# 5
# 5
1-2、VBA:
' 1.函数:Abs(Absolute Value Function,取绝对值函数前3个字母命名)
' 2.功能:用于计算一个数的绝对值
' 3.语法:Abs(x)
' 4.参数:
' 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的表达式,包括变量、常量、算术表达式或函数调用等.
' 4-2. x可以是整数、浮点数或复数.
' 5.返回值:返回x参数的绝对值.
' 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用Abs(x)函数(例如字符串或列表),VBA会抛出一个TypeError异常,因为Abs(x)函数只能接受数值类型的参数.
'         此外,在VBA中,函数的命名通常遵循Pascal命名法(即每个单词的首字母大写),而不是Python中的小写加下划线风格。因此,在VBA中我们使用Abs(x),而不是abs(x).
' 7.示例:
'--------------------------------------------------------------------------------------------------------------------------------------------------------------
Rem 自定义函数,功能:返回值供其他过程调用
Function GetNegativeNumber() As IntegerGetNegativeNumber = -5
End Function
Rem 自定义函数,功能:计算复数的模
Function ComplexModulus(realPart As Double, imagPart As Double) As Double' 计算复数的模(sqrt(realPart^2 + imagPart^2))并返回结果ComplexModulus = Sqr(realPart * realPart + imagPart * imagPart)
End Function
Rem 执行过程,功能:演示Abs(x)函数传不同参数类型所得到的结果
Sub TestRun()' 定义整数变量Dim positive_int As IntegerDim negative_int As Integer' 定义浮点数变量Dim positive_float As DoubleDim negative_float As Double' 定义整数变量,用于存储零Dim zero As Integer' 定义整数变量,用于后续计算Dim num As Integer' 定义双精度浮点数变量,用于存储绝对值Dim absolute_value As Double' 定义双精度浮点数变量,用于存储复数的实部Dim realPart As Double' 定义双精度浮点数变量,用于存储复数的虚部Dim imagPart As Double' 定义双精度浮点数变量,用于存储复数的模Dim modulus As Double' 定义字符串变量Dim str1 As String' 整数部分' 赋值为正整数10positive_int = 10' 赋值为负整数-10negative_int = -10' 输出正整数的绝对值,结果为10Debug.Print Abs(positive_int) ' 输出: 10' 输出负整数的绝对值,结果为10Debug.Print Abs(negative_int) ' 输出: 10' 浮点数部分' 赋值为正浮点数3.14positive_float = 3.14' 赋值为负浮点数-2.71negative_float = -2.71' 输出正浮点数的绝对值,结果为3.14Debug.Print Abs(positive_float) ' 输出: 3.14' 输出负浮点数的绝对值,结果为2.71Debug.Print Abs(negative_float) ' 输出: 2.71' 零的处理' 赋值为0zero = 0' 输出0的绝对值,结果为0Debug.Print Abs(zero) ' 输出: 0' 使用变量计算绝对值' 赋值为-10num = -10' 计算num的绝对值并存储在absolute_value中absolute_value = Abs(num)' 输出absolute_value的值,结果为10Debug.Print absolute_value ' 输出: 10' 使用常量计算绝对值' 输出-3.14的绝对值,结果为3.14Debug.Print Abs(-3.14) ' 输出: 3.14' 使用算术表达式计算绝对值' 输出4 - 9的结果的绝对值,结果为5Debug.Print Abs(4 - 9) ' 输出: 5' 输出GetNegativeNumber()返回值的绝对值,结果为5Debug.Print Abs(GetNegativeNumber()) ' 输出: 5' 定义复数的实部和虚部realPart = 3imagPart = 4' 调用ComplexModulus函数计算复数的模modulus = ComplexModulus(realPart, imagPart)' 输出结果,显示复数3 + 4j的模Debug.Print "复数" & realPart & " + " & imagPart & "j的模: " & modulus' 使用字符串计算绝对值,弹出警示对话框:类型不匹配str1 = "Myelsa"Debug.Print Abs(str1)
End Sub
'结果输出:
'10
'10
' 3.14
' 2.71
'0
'10
' 3.14
'5
'5
'复数3 + 4j的模: 5

注意:1-2中的代码需粘贴到你的VBA编辑器中,按F5执行TestRun程序,在立即窗口中输出结果。 

2、相关文章:

2-1、Python-VBA编程500例-033(入门级)

Myelsa的Python算法之旅(高铁直达):Myelsa的Python算法之旅(高铁直达)-CSDN博客
Myelsa的Python函数之旅(高铁直达):Myelsa的Python函数之旅(高铁直达)
欢迎访问个人主页:非风V非雨-CSDN博客
欢迎志同道合者一起交流学习,我的QQ:94509325/微信:

这篇关于Python-VBA函数之旅-abs函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884356

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e