Sugerencias para programadores de Python sobre la documentación de la API de .NET
La versión preliminar actual de la documentación de la interfaz del script se ha generado automáticamente a partir de las fuentes subyacentes de .NET y C#. Por lo tanto, la documentación incluye algunas expresiones que no son familiares para los programadores de Python. La siguiente descripción general proporciona algunos consejos sobre cómo se pueden entender estas expresiones desde la perspectiva de Python.
- Una interfaz es el contrato que le dice a una instancia de una clase que implementa la interfaz qué miembros (métodos, propiedades) tiene que preparar. En IronPython, puede implementar una o más interfaces .NET en una clase al heredar de una superclase. Si se necesita un método para la interfaz pero no está disponible en la definición de clase, se lanza una excepción. (El - DeviceImportFromSvn.pyEl ejemplo muestra una clase que implementa el- ImportReporterinterfaz.)
- Cada parámetro y cada método en .NET está estrictamente tipificado. El tipo de parámetro está separado por un carácter de espacio antes del nombre del parámetro y el tipo de valor de retorno de un método por un carácter de espacio antes del nombre del método. Puede usar instancias de subclases cuando define una clase (o interfaz). Se marca un método sin valor de retorno - void.
- Puede sobrecargar los métodos. Como resultado, pueden existir múltiples métodos con el mismo nombre en una clase. Sin embargo, el número o los tipos de parámetros tienen que ser diferentes. IronPython automáticamente se encarga de llamar a la sobrecarga del método más apropiado. 
- el tipo de datos - intcorresponde a un número entero de -2.147.483.648 a 2.147.483.647.- el tipo de datos - boolcorresponde al tipo Python- bool(- Truey- False).- el tipo de datos - stringcorresponde a los tipos de Python- stro- unicode, que son idénticos en IronPython.- El - IDictionary<object, object>el tipo de datos corresponde a un diccionario Python ordinario. IronPython convierte automáticamente entre tipos de datos Python y .NET.
- Cuando un - Tel tipo se hereda de- IBaseObject<T>, significa que este tipo se puede ampliar con otros complementos para miembros adicionales. El uso real de este tipo extendido como parámetro o valor de retorno está marcado por- IExtendedObject<T>.
- El - IEnumerable<T>interfaz a un- Ttipo significa que puede usar cada secuencia de Python (generadores, listas, tuplas, etc.) que devuelve- Tvalores de tipo (o una subclase). Devuelve la secuencia de objetos incompatibles y lanza una excepción en tiempo de ejecución.
- El - IList<T>interfaz a un- Ttipo identifica una lista tipificada que garantiza incluir solo elementos de tipo- T(o una subclase). Se lanza una excepción en tiempo de ejecución cuando se intenta agregar un objeto incompatible.
- El - params T[] nameid para un parámetro de tipo- Tcorresponde al mecanismo de Python- *namepara listas de argumentos variables.
- En Python, las enumeraciones ( - enum) no existen como construcciones del lenguaje. Su propósito es definir un número exacto de valores constantes para un propósito específico, por ejemplo, los días de la semana. El acceso a las enumeraciones .NET desde IronPython funciona usando "Name.Member", por ejemplo a través de- OnlineChangeOption.Try.- También hay diferentes enfoques para emular enumeraciones en Python. - Por ejemplo, vea: http://pypi.python.org/pypi/enum/ 
- la sintaxis - T name- { get; set; }define una propiedad con- namecomo el nombre y- Tcomo el tipo. Si- set;falta, entonces la propiedad es de solo lectura. En Python, la construcción respectiva es- @propertydecorador.