Python abs()函数详细教程

abs()函数返回一个数的绝对值;该函数的参数可以是一个整数、浮点数、复数或定义了__abs__()方法的类;

如果参数是一个复数,则返回它的模;如果是定义了__abs__()方法的类,则返回__abs__()方法的返回值;

整数、浮点数

abs(x)函数将返回x的绝对值;

n = -1.5
print(abs(n))

输出:

1.5

复数

如果参数为复数,abs(x)函数返回x的模;

n = 3 + 4j
print(abs(n))

输出:

5.0

定义了__abs__()方法的类

如果参数是定义了__abs__()的类,则abs(x)函数返回x.__abs__()的返回值;

class A:
    def __init__(self,n):
        self.value = n

    def __abs__(self):
        return self.value**2

a = A(5)

print(abs(a))

输出:

25

错误的类型

如果类未定义__abs__()方法;则会造成TypeError类型错误;

class A:
    def __init__(self,n):
        self.value = n

a = A(5)

print(abs(a))

输出:

Traceback (most recent call last):
  File "C:\Users\hocn\Desktop\test.py", line 7, in <module>
    print(abs(a))
TypeError: bad operand type for abs(): 'A'

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/python-abs-function.html

分类: 计算机技术
推荐阅读:
Python 使用tld库获取复杂URL的顶级域名 我们会碰到各种各样的URL链接,比如:www.a.com/ b.com.cn/ a.b.c.com.cn a.com/b.com Python有内置的库可以识别一些简单的URL,但是像a.b.c.com.cn这样却无能为力。我们需要一个强大的第三方库来实现提取顶级域名。
未定义标识符 CV_BayerGR2BGR 解决方法 CV_BayerGR2BGR 是 OpenCV 中的颜色转换常量,值为49,在文件 opencv2/imgproc/types_c.h 中定义;提示未定义标识符CV_BayerGR2BGR是因为没有引入opencv2/imgproc/types_c.h这个头文件;
Implementation of the USB 2.0 controller not found!解决方案 你可能在使用VirtualBox启动虚拟机系统时碰到“不能为虚拟电脑打开一个新的任务”的错误提示,并提示 Implementation of the USB 2.0 controller not found!
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。
Python this模块的加密原理 this模块的代码(this模块位于Python安装目录/lib下)。定义了2个变量;字符串s和字典d(被定义两次);s很明显是一段密文,d则是密码字典,key和value对应的是密文和原文;chr((i&#43;13)%26 &#43;c) 则是加密算法,其原理是通过向字典d写入KEY为字符A~Z,VALUE为加密后的字符。然后通过字典遍历的方法,匹配出正确的字符。
使用PySide6创建窗口以及各类窗口的区别 在本文中,你将了解Qt的窗口,以及QMainWindow、QWidget、QDialog之间的区别和在PySide6中的使用方法;