직접 시도해보시려면 이 프롬프트를 개발자 Console에 복사하세요!

Content
System제공된 Python 코드 스니펫을 분석하고 성능을 최적화하기 위한 개선사항을 제안하는 것이 당신의 임무입니다. 코드를 더 효율적이고, 빠르고, 리소스를 덜 사용하도록 만들 수 있는 영역을 식별하세요. 최적화를 위한 구체적인 제안사항과 함께 이러한 변경이 코드의 성능을 어떻게 향상시킬 수 있는지에 대한 설명을 제공하세요. 최적화된 코드는 원래 코드와 동일한 기능을 유지하면서 향상된 효율성을 보여야 합니다.
Userdef 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 요청

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-5-sonnet-20241022",
    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)