Вопрос Python help me pls

Регистрация
30 Апр 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
У меня есть переменная, в которой записан метод, генерирующий рандомное слово.



Как эту переменную обновить? Т.е. слово должно поменяться (без переназначения самой переменной)
 
Либо метод сделать либо пт новой значение присвоитт
 
1. Использование функции functools.wraps: from functools import wraps

def generate_random_word():
# Ваш код для генерации случайного слова

# Декорируем функцию
@wraps(generate_random_word)
def обновлённая_функция():
# Вызов функции generate_random_word()
# и обновление значения переменной
global generate_random_word
generate_random_word = generate_random_word()
return generate_random_word()

# Пример использования
generate_random_word = generate_random_word()
print(generate_random_word())

обновлённая_функция()
print(generate_random_word()) 2. Использование класса: class RandomWordGenerator:
def __init__(self):
# Ваш код для генерации случайного слова
self.word = None

def generate_random_word(self):
# Генерация нового слова
self.word = generate_random_word()
return self.word

# Пример использования
generator = RandomWordGenerator()
print(generator.generate_random_word())

generator.generate_random_word()
print(generator.generate_random_word()) 3. Использование функции lambda: generate_random_word = lambda: generate_random_word()

# Пример использования
print(generate_random_word())

generate_random_word = lambda: generate_random_word()
print(generate_random_word()) 4. Перезапуск исходного модуля: # Файл random_word.py

def generate_random_word():
# Ваш код для генерации случайного слова

# Пример использования
import random_word

print(random_word.generate_random_word())

# Перезапуск модуля
import importlib
importlib.reload(random_word)

print(random_word.generate_random_word())
 
Назад
Сверху