Magic Method
Posted liyanyan665
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Magic Method相关的知识,希望对你有一定的参考价值。
是什么
它是python面向对象的一整套方法 , 从对象的建立到属性的访问 , 到对运算符的支持 , 对特殊语法的支持
形式
方法名前后后两个_ , 如 : def __init__(self):
2.2 对象的创建与初始化
对象实例化的过程
创建类的对象 : def __new__(cls)
初始化对象 : def __init__(self)
new方法在调用init方法之前被调用 , 返回一个类的初始对象 , 可以进行重写 , 但是要返回对象 , cls表示当前类
回收对象
def __del__() : 实际并不会调用这个方法进行回收 , python的回收机制会自动调用此方法进行回收
实例
# 首先调用new方法 , 用于返回自身的一个对象 , 然后将对象交给init方法
class Program(object):
def __new__(cls, *args, **kwargs):
print(‘call_new_method‘)
print(args)
return super(Program, cls).__new__(http://www.my516.com)
def __init__(self, name, age, language):
print(‘call_init_method‘)
self.name = name
self.age = age
self.language = language
if __name__ == ‘__main__‘:
program = Program(‘John‘, 22, ‘python‘)
print(program.__dict__)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
对于*args与**kwargs参数的含义详见*args与**kwargs
————————————————
以上是关于Magic Method的主要内容,如果未能解决你的问题,请参考以下文章
Android NDK,独立构建,错误不可执行:magic 7F45 和/或不可执行:magic 4c01