您的位置:

Python魔法函数详解

一、Python魔法函数int

1、Python中整数类型的表示方法是int(整型),可以通过内置函数int()进行转换。int()可以将字符串,浮点数或者其它一些类型的数据转换为整数,如果是浮点数,函数会将其直接截断删除小数部分


num = int('123')
print(num)    #输出123

num = int(3.14)
print(num)    #输出3

2、在Python内部,使用了一个叫做PyObject的结构体表示所有对象,其中一个成员变量ob_type就是用来表示该对象的类型的。而在Python中,int类型实际上也是一个对象。故int类型同样也具有对象的特性,支持type()函数


num = 10
print(type(num))    #输出
   

   

二、Python函数调用图

1、Python中的魔法方法,是指在实现某些特定功能时,遵循一定的编码规则,Python可以识别并自动执行的特殊函数。Python中内置的函数都有特定的魔法方法,例如len()函数有__len__()魔法方法,在使用len()函数的时候就会自动调用__len__()魔法方法

2、下面是一个Python函数调用图的示例,展示了Python几个常见的魔法函数及其相互之间的关系


           object
             |
     _____________
     |           |
   type       object
     |           |
   object     type
     |           |
  int,str   int,str

三、Python魔法函数详解

1、Python中的魔法函数都以双下划线开始和结尾,例如__init__(),__str__()等函数都是魔法函数

2、下面是一个实现矩阵加法的例子,它用到了__add__()魔法方法


class Matrix:
    def __init__(self, matrix):
        self.matrix = matrix
    def __add__(self, other):
        result = []
        for i in range(len(self.matrix)):
            row = []
            for j in range(len(self.matrix[0])):
                row.append(self.matrix[i][j] + other.matrix[i][j])
            result.append(row)
        return Matrix(result)
m1 = Matrix([[1, 2], [3, 4]])
m2 = Matrix([[4, 3], [2, 1]])
print((m1 + m2).matrix)    #输出[[5, 5], [5, 5]]

四、Python魔法函数add

1、__add__()方法用于定义两个对象相加的行为,需要两个参数,self为第一个对象,other为第二个对象。该方法可以返回任何类型的值。

2、下面是一个实现字符串相加的例子,它用到了__add__()魔法方法


class stringAdd:
    def __init__(self, value):
        self.value = value
    def __add__(self, other):
        if isinstance(other, stringAdd):
            return self.value + other.value
        else:
            return self.value + str(other)
sa1 = stringAdd('hello')
sa2 = stringAdd('world')
print(sa1 + sa2)    #输出helloworld
sa3 = stringAdd('the number is ')
print(sa3 + 42)    #输出the number is 42

五、Python魔法函数大全

1、Python魔法函数大全可以参考官方文档,下面列举一些常见的魔法函数:

__init__(self[, ...]) 构造函数,在对象初始化时调用

__str__(self) 在使用print输出对象时自动调用,返回一个描述对象的字符串

__repr__(self) 定义打印对象时的输出结果

__len__(self) 定义当被 len() 调用时的行为

__getitem__(self, key)定义获取容器中指定元素(key)的行为,相当于self[key]

__setitem__(self, key, value)定义设置容器中指定元素(key)的行为,相当于self[key] = value

__delitem__(self, key)定义删除容器中指定元素的行为,相当于del self[key]

__iter__(self)定义当迭代容器中的元素时的行为

__contains__(self, item)定义当使用in判断元素是否在容器中时的行为,相当于item in self

六、Python魔法函数的作用

1、Python魔法函数主要是为某些特殊需求而设计的。例如__str__()和__repr__()函数用于打印输出对象的信息,__add__()函数用于定义两个对象相加的行为,__len__()函数定义当被len()调用时的行为等。

2、在Python中,大量使用魔法函数可以提高代码的可读性和可维护性,使开发更加方便快捷。

七、Python语法

1、Python是一种面向对象、解释型的高级编程语言。Python语法简洁清晰、易学易懂、运行速度快,被广泛应用于web开发、数据科学、人工智能等领域。

2、Python魔法函数是实现Python语法糖的一种方式,可以更加方便快捷地编写代码,提高代码的可读性和可维护性。

八、Python怎么用

1、Python的安装


1)在官网下载Python的安装文件
2)运行安装文件,按照提示进行安装
3)安装完成后,通过命令行输入python命令即可进入Python交互环境

2、Python的编写


1)使用Python自带的IDLE或者其他开发环境进行编写
2)新建.py文件,使用Python语法编写程序
3)保存文件,运行python xxx.py命令即可执行

3、Python的学习


1)可以通过阅读官方文档、参考书籍等途径进行学习
2)也可以通过网络上的免费、付费教程进行学习

本文只介绍了Python魔法函数的一些基本概念和用法,希望读者可以深入学习,掌握更多更高级的技能。