本文将为大家介绍10个python常用魔法函数,帮助初学者更好地理解和应用魔法函数,同时提供对应的代码案例。
一、__init__函数
__init__函数是Python中比较常用的魔法函数之一,也被称为构造函数。它在对象被创建时自动调用,用于对对象进行初始化,并可以接收传递给该对象的参数。
代码示例:
class MyClass(object):
def __init__(self, name, age):
self.name = name
self.age = age
myclass = MyClass('Tom', 18)
print(myclass.name)
print(myclass.age)
二、__new__函数
__new__函数也是Python中常用的魔法函数之一,它在__init__函数之前被调用,用于创建对象并返回该对象的引用。
代码示例:
class MyClass(object):
def __new__(cls, *args, **kwargs):
print('Creating instance')
instance = super(MyClass, cls).__new__(cls)
return instance
myclass = MyClass()
三、__str__函数
__str__函数也是Python中常用的魔法函数之一,它用于将对象转换为字符串并返回该字符串。
代码示例:
class MyClass(object):
def __str__(self):
return 'MyClass object'
myclass = MyClass()
print(str(myclass))
四、__len__函数
__len__函数用于返回对象的长度,它常用于容器类对象的实现。
代码示例:
class MyList(object):
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
mylist = MyList([1, 2, 3])
print(len(mylist))
五、__call__函数
__call__函数用于将对象作为函数调用,可以在类中实现函数的功能。
代码示例:
class MyClass(object):
def __call__(self, a, b):
return a + b
myclass = MyClass()
print(myclass(1, 2))
六、__getitem__函数
__getitem__函数用于获取对象的某个元素,它常用于容器类对象的实现。
代码示例:
class MyList(object):
def __init__(self, data):
self.data = data
def __getitem__(self, index):
return self.data[index]
mylist = MyList([1, 2, 3])
print(mylist[0])
七、__setitem__函数
__setitem__函数用于设置对象的某个元素,它常用于容器类对象的实现。
代码示例:
class MyList(object):
def __init__(self, data):
self.data = data
def __setitem__(self, index, value):
self.data[index] = value
mylist = MyList([1, 2, 3])
mylist[0] = 4
print(mylist.data)
八、__getattr__函数
__getattr__函数用于获取对象的某个属性,它在该属性不存在时被调用。
代码示例:
class MyClass(object):
def __getattr__(self, name):
return name
myclass = MyClass()
print(myclass.age)
九、__setattr__函数
__setattr__函数用于设置对象的某个属性,它常用于对象的赋值操作。
代码示例:
class MyClass(object):
def __setattr__(self, name, value):
self.__dict__[name] = value
myclass = MyClass()
myclass.age = 18
print(myclass.age)
十、__del__函数
__del__函数用于在对象被销毁时自动调用,常用于资源的释放操作。
代码示例:
class MyClass(object):
def __del__(self):
print('MyClass object is deleted')
myclass = MyClass()
del myclass
以上就是10个python常用魔法函数的介绍,希望对初学者有所帮助。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com