同一进程多次调用次函数 会创建多个对象实力吗
时间: 2023-11-25 16:06:31 浏览: 155
易语言多线程多次启动一个子程序
这个问题的答案取决于你的代码实现。一般来说,如果一个函数内部创建了一个对象实例并返回它,那么每次调用该函数都会创建一个新的对象实例。如果你想让一个函数在多次调用时返回同一个对象实例,可以使用单例模式或者静态变量来实现。具体实现可以参考下面的代码示例:
使用单例模式实现:
```python
class MyClass:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def my_func():
obj = MyClass()
# do something with obj
return obj
```
使用静态变量实现:
```python
class MyClass:
obj = None
def my_func():
if MyClass.obj is None:
MyClass.obj = MyClass()
obj = MyClass.obj
# do something with obj
return obj
```
这样,无论你调用 `my_func()` 多少次,它都会返回同一个对象实例。
阅读全文