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()方法,并打印方法的返回值

 

posted @ 2021-08-04 10:18  SlookUP  阅读(280)  评论(0编辑  收藏  举报