Найти - Пользователи
Полная версия: Как деактивировать функцию?
Начало » Python для новичков » Как деактивировать функцию?
1
cherwonets
Python 3.7
Т.е. сделать так, чтобы функция перестала выполнять свою задачу.
PEHDOM
cherwonets что значит “деактивировать” или “чтобы функция перестала выполнять свою задачу”?
а какую задачу она должна выполнять?
поскольку в пайтоне практически все является обьектом то функцию можно просто удалить:
def test():
print('blah_blah_blah')
test()
del test
test()

>>>
blah_blah_blah
Traceback (most recent call last):
File "<модуль1>", line 6, in <module>
NameError: name 'test' is not defined
>>>
или замменить ее на другую функцию
 def test():
    print('blah_blah_blah')
def other_func():
    print('ooops...')
test()
test = other_func
test()
>>> 
blah_blah_blah
ooops...
>>>
FishHook
   
class disable(object):
    def __init__(self, func):
        self.func = func
        self.active = True
    def __call__(self, *args, **kwargs):
        if self.active:
            return self.func( *args, **kwargs)
@disable
def foo():
    print 'i am working'
foo()
foo()
foo.active = False
foo()
foo()
foo.active = True
foo()
foo()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB