python中魔法方法加减怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中魔法方法加减怎么用相关的知识,希望对你有一定的参考价值。

参考技术A Python中的列表中的元素不能直接相加减。
最佳的方式是将列表转换成Python中的科学计算包numpy包的array类型,再进行加减。
import
numpy
as
npa
=
np.array([1,2,3,4])b
=
np.array([7,8,9,10])s
=
a
+
b

python学习--魔法方法

        魔法方法是指用__ __包起来的方法,可以不直接调用方法或者调用其它函数时会调用到对应的魔法方法。这种拼写表示名字有特殊含义,不要在自己的程序中使用这种名字。先对魔法方法的几个特点强调一下:
  • 魔法方法定义在class中;
  • 不需要直接调用;
  • Python的某些函数或者操作符会调用对应的魔法方法。
 
基本序列的魔法方法
  • __len__(self)
        当用len()函数去获取一个对象的长度时,会调用该对象内部的__len__方法,这个方法就会返回集合中所含项目的数量。
class Students(object):
    def __init__(self, *args):
        self.names = args
    def __len__(self):
        return len(self.names)
 
>>> ss = Students(Bob, Alice, Tim)
>>> print len(ss)
3
  • __getitem__(self, key)
        凡是在类中定义了这个__getitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] 取值,当实例对象做p[key] 运算时,会调用类中的方法__getitem__。
  • __setitem__(self,key,value)
        只能为可以修改的对象定义这个方法。在类中定义了这个__setitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] = value赋值,当实例对象做p[key] =value 赋值运算时,会调用类中的方法__setitem__。
 
  • __delitem__(self,key)
        只能为可以修改的对象定义这个方法。在类中定义了这个__delitem__ 方法,那么它的实例对象(假定为p),当用del p[key]去删除时,会调用类中的方法__delitem__。
 

以上是关于python中魔法方法加减怎么用的主要内容,如果未能解决你的问题,请参考以下文章

python 魔法方法(学习过程的笔记)

Python魔法

python学习--魔法方法

4.python中常用的魔法方法(长期更新)

Python3 魔法方法:算数运算

Python48--魔法方法:迭代器&生成器