본문 바로가기

C#

C# Polyglot 애플리케이션: IronPython과의 상호운용

다양한 프로그래밍 언어가 공존하는 환경에서 C#과 IronPython을 함께 사용하는 방법을 알아봅니다. IronPython은 .NET 기반의 파이썬 구현체로, C#과 쉽게 통합할 수 있어 polyglot 애플리케이션 개발에 적합합니다.

1. IronPython 설치 및 참조 추가

NuGet 패키지 매니저에서 IronPythonIronPython.StdLib를 설치하세요. 프로젝트에 참조를 추가하면 C#에서 파이썬 코드를 실행할 준비가 됩니다.

2. C#에서 IronPython 사용 예제

using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

class Program
{
    static void Main()
    {
        // Python 스크립트 엔진 생성
        ScriptEngine engine = Python.CreateEngine();
        
        // 스크립트 실행
        engine.Execute(@"print('Hello from IronPython!')");
        
        // 변수 전달 및 반환 예
        var scope = engine.CreateScope();
        scope.SetVariable("x", 10);
        dynamic result = engine.Execute("x + 20", scope);
        Console.WriteLine($"Result from Python: {result}");
    }
}

3. 장점 및 활용 팁

IronPython을 활용하면 파이썬의 풍부한 라이브러리를 C#에서 직접 사용할 수 있습니다. 복잡한 계산, 데이터 분석 등 파이썬이 강점인 부분을 C# 애플리케이션에 자연스럽게 통합할 수 있다는 점이 장점입니다.