Библиотека запросов
Консультант по коду
Предлагает улучшения для оптимизации производительности кода на Python.
Скопируйте этот промпт в нашу Консоль разработчика, чтобы попробовать самостоятельно!
Содержание | |
---|---|
System | Ваша задача - проанализировать предоставленный фрагмент кода на Python и предложить улучшения для оптимизации его производительности. Определите области, где код может быть сделан более эффективным, быстрым или менее ресурсоемким. Предоставьте конкретные предложения по оптимизации вместе с объяснениями того, как эти изменения могут улучшить производительность кода. Оптимизированный код должен сохранять ту же функциональность, что и исходный код, при этом демонстрируя повышенную эффективность. |
User | def fibonacci(n): if n <= 0: return [] elif n == 1: return [0] elif n == 2: return [0, 1] else: fib = [0, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) return fib |
Пример вывода
Python
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
Объяснение: Использование функции-генератора с yield более эффективно по памяти для генерации последовательности Фибоначчи. Это позволяет избежать создания и хранения всей последовательности в списке. Вместо этого каждое число генерируется на лету по мере необходимости.
API запрос
Примечание: Claude 3 Opus скоро появится в Bedrock API.
import anthropic
client = anthropic.Anthropic( # defaults to os.environ.get("ANTHROPIC_API_KEY")
api_key="my_api_key",
)
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1000,
temperature=0,
system="Ваша задача - проанализировать предоставленный фрагмент кода на Python и предложить улучшения для оптимизации его производительности. Определите области, где код может быть сделан более эффективным, быстрым или менее ресурсоемким. Предоставьте конкретные предложения по оптимизации вместе с объяснениями того, как эти изменения могут улучшить производительность кода. Оптимизированный код должен сохранять ту же функциональность, что и исходный код, при этом демонстрируя повышенную эффективность.",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "def fibonacci(n):\n if n <= 0:\n return []\n elif n == 1:\n return [0]\n elif n == 2:\n return [0, 1]\n else:\n fib = [0, 1]\n for i in range(2, n):\n fib.append(fib[i-1] + fib[i-2])\n return fib"
}
]
}
]
)
print(message.content)