ironpython
파이썬과 IronPython의 차이점
수색…
파이썬 코드에서 .Net 어셈블리 사용하기
IronPython을 사용하면 IronPython 코어와 동일하거나 낮은 버전으로 컴파일 된 .net 어셈블리에 액세스 할 수 있습니다.
예 : aa.net. 어셈블리 및 클래스 가져 오기
from System import Math
예 : 가져온 클래스 사용 :
from System import Math
print Math.Abs(-123)
기본 제공 clr 모듈을 사용하여 추가 어셈블리를로드 할 수도 있습니다.
import clr
clr.AddReference('Sample') # Sample.dll inside of the working directory.
다른 .net 또는 python 라이브러리처럼 사용하십시오.
IronPython은 순수한 C #
IronPython은 관리되는 .net (c #) 코드를 사용하여 completly 작성됩니다. 따라서 builtin 파이썬 메소드와 라이브러리 (예 : next() , int() 등)는 .net에서 작성됩니다.
이 예제는 다양한 유형의 목록 (일부만 해당 len() 대한 len() 의 구현을 보여줍니다.
....
public static int len([NotNull]List/*!*/ list) {
return list.__len__();
}
public static int len([NotNull]PythonTuple/*!*/ tuple) {
return tuple.__len__();
}
public static int len([NotNull]PythonDictionary/*!*/ dict) {
return dict.__len__();
}
....
길이를 계산하기 위해 다른 유형이 필요할 경우 Builtin.cs 추가하면 자동으로 사용할 수 있습니다.
IronPython에서 제네릭 사용하기
IronPython은 .net 프레임 워크의 제네릭 클래스와 메서드를 사용할 수있게합니다. 제네릭은 색인 액세스와 동일한 구문으로 사용될 수 있습니다. 둘 이상의 매개 변수를 전달하려면 쉼표로 구분해야합니다.
l = Dictionary[int, str]()
그런 식으로 우리는 키가 integers 허용하고 값은 string 이어야하는 사전을 만듭니다.
샘플 사용량은 다음과 같을 수 있습니다.
from System.Collections.Generic import List
lst = List[str]()
lst.Add('Hello')
lst.Add('World')
for l in lst:
print
산출
여보세요
세계
새 항목을 추가 할 때 유형 검사도 수행됩니다.
lst = List[str]()
lst.Add(123)
추적 (최근 호출 마지막) :
파일 "<stdin>", 1 번 줄
TypeError : 예상 str, int가 있습니다.