当前位置:首页>开发>正文

python中类内部的函数可以互相调用吗 python里 每次调用一次函数就会重复添加一次值,这是为什么

2023-05-28 04:54:19 互联网 未知 开发

 python中类内部的函数可以互相调用吗 python里 每次调用一次函数就会重复添加一次值,这是为什么

python中类内部的函数可以互相调用吗?

可以调用,比如下面,common_func被多个函数调用。 class MyClass: def __init__(self): pass def func1(self): # do something selfcommon_func() def func2(self): # do something selfcommon_func() def common_func(self): passpython中类内部的函数可以互相调用吗?

python里 每次调用一次函数就会重复添加一次值,这是为什么

感觉是你的函数使用了一个全局的对象(如list)
然后每次调用函数都会给这个对象添加一个值,比如(list.append())
这样就会造成每次执行都会添加一个值
因为python中对象的作用域是全局的,你在函数中改变就会改变这个对象,而不是像其它语言中函数内并不影响函数外面的对象

python 在函数结束时调用另一函数


你问的其实是python是不是支持tail call elimination,就是最后一句调用其他函数时是否保存原函数的栈来节省内存。
记得原生python是不支持的,需要特殊的库来支持。
一般函数型语言支持这个。

python 怎么在一个函数中调用同一个函数两次

如果是同一包里面,直接就可以使用,如果不是同一个包,那么需要先import后,通过“包名.类名”才能使用。 下面是同一个包里面的案例: def a(): print(1) def b(): a() print (2) b()

最新文章