Python实例化过程简单介绍
贴上示例代码
1 class Foo(object): 2 def __init__(self, sex): 3 self.sex = sex 4 5 def Fun(self): 6 print(hasattr(foo, 'sex')) 7 return self.sex 8 9 10 foo = Foo('man') 11 print(foo.Fun())
因为Python代码属于解释型语言,所以都是一行一行进行编译的
1.上面一共11行代码,从第一行代码运行,如果碰到了__init__或者__setattr__等内部方法时,是不需要进行实例化,就会把sex这个变量存在内存中
因为这个特性,__init__这类方法适合用来存需要大量使用到的值,它会一直存在内存中直到项目结束才会释放
(因此这种特性也适合用来导入算法模型,项目运行时导入,后续调用的时候不需要再花时间导入)
2.运行__init__内部方法之后,会跳到第10行运行代码,对Foo类进行实例化,并将“man”这个值赋给self.sex
3.最后运行第11行代码,运行Fun()方法,并打印方法的返回值
本文来自博客园,作者:SlookUP,转载请注明原文链接:https://www.cnblogs.com/SlookUp/p/15097671.html