[Python.NET] Dynamic types of returns PyObject from the runtime
Barton
barton at bcdesignswell.com
Tue Jan 29 12:03:22 CET 2013
python dynamically typed: Yes
C# dynamically typed: No, strongly typed. It uses lots of overloads to
return the required type.
I suppose some embedder somewhere has a neat way of applying the type
info on the PyObject to some sort of wrapper.
What language is that, anyway? It looks sort of interesting.
Barton
On 01/28/2013 08:05 AM, Pierre-Yves Strub wrote:
> Hi,
>
> While playing with the .NET python runtime (see code bellow), I have
> been surprised to see that the dynamic type of all values returned by
> the runtime is PyObject. For instance, in the latter example, I would
> expect "sum" to be of dynamic type PyInt and to be able to write (sum
> :?> PyInt) instead of (PyInt.AsInt sum). Is it a "feature" of the
> runtime binding ?
>
> let entry () =
> PythonEngine.Initialize ()
> use lock = new PythonEngineLock () in
> use builtin = PythonEngine.ImportModule ("__builtin__") in
> use data =
> new PyList
> (data |> Array.map (fun i -> new PyInt (i) :> PyObject)) in
> use sum = builtin.GetAttr("sum").Invoke([|data :> PyObject|]) in
>
> printfn "%A" (sum.GetType ());
> printfn "%A" (sum.GetPythonType ())
>
>
> Best,
> Pierre-Yves.
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> http://mail.python.org/mailman/listinfo/pythondotnet
>
More information about the PythonDotNet
mailing list