[][src]Struct pyo3::PyAny

#[repr(transparent)]pub struct PyAny(_, _);

A Python object with GIL lifetime

Represents any Python object. All Python objects can be cast to PyAny. In addition, if the inner object is an instance of type T, we can downcast PyAny into T.

PyAny is used as a reference with a lifetime that represents that the GIL is held, therefore its API does not require a Python<'py> token.

See the guide for an explanation of the different Python object types.

Example

use pyo3::prelude::*;
use pyo3::types::{PyAny, PyDict, PyList};
let gil = Python::acquire_gil();
let dict = PyDict::new(gil.python());
assert!(gil.python().is_instance::<PyAny, _>(dict).unwrap());
let any = dict.as_ref();
assert!(any.downcast::<PyDict>().is_ok());
assert!(any.downcast::<PyList>().is_err());

Methods

impl PyAny[src]

pub fn downcast<T>(&self) -> Result<&T, PyDowncastError> where
    T: PyTryFrom<'py>, 
[src]

Trait Implementations

impl AsPyPointer for PyAny[src]

fn as_ptr(&self) -> *mut PyObject[src]

Gets the underlying FFI pointer, returns a borrowed pointer.

impl AsRef<PyAny> for PyAny[src]

impl AsRef<PyAny> for PyBool[src]

impl AsRef<PyAny> for PyDict[src]

impl AsRef<PyAny> for PyFloat[src]

impl AsRef<PyAny> for PyList[src]

impl AsRef<PyAny> for PyModule[src]

impl AsRef<PyAny> for PyLong[src]

impl AsRef<PyAny> for PySequence[src]

impl AsRef<PyAny> for PySet[src]

impl AsRef<PyAny> for PyFrozenSet[src]

impl AsRef<PyAny> for PySlice[src]

impl AsRef<PyAny> for PyString[src]

impl AsRef<PyAny> for PyByteArray[src]

impl AsRef<PyAny> for PyTuple[src]

impl AsRef<PyAny> for PyType[src]

impl AsRef<PyAny> for PyBytes[src]

impl AsRef<PyAny> for PyComplex[src]

impl AsRef<PyAny> for PyDate[src]

impl AsRef<PyAny> for PyDateTime[src]

impl AsRef<PyAny> for PyTime[src]

impl AsRef<PyAny> for PyTzInfo[src]

impl AsRef<PyAny> for PyDelta[src]

impl Debug for PyAny[src]

impl Display for PyAny[src]

impl<'a> From<&'a PyBool> for &'a PyAny[src]

impl<'a> From<&'a PyByteArray> for &'a PyAny[src]

impl<'a> From<&'a PyBytes> for &'a PyAny[src]

impl<'a> From<&'a PyComplex> for &'a PyAny[src]

impl<'a> From<&'a PyDate> for &'a PyAny[src]

impl<'a> From<&'a PyDateTime> for &'a PyAny[src]

impl<'a> From<&'a PyDelta> for &'a PyAny[src]

impl<'a> From<&'a PyDict> for &'a PyAny[src]

impl<'a> From<&'a PyFloat> for &'a PyAny[src]

impl<'a> From<&'a PyFrozenSet> for &'a PyAny[src]

impl<'a> From<&'a PyList> for &'a PyAny[src]

impl<'a> From<&'a PyLong> for &'a PyAny[src]

impl<'a> From<&'a PyModule> for &'a PyAny[src]

impl<'a> From<&'a PySet> for &'a PyAny[src]

impl<'a> From<&'a PySlice> for &'a PyAny[src]

impl<'a> From<&'a PyString> for &'a PyAny[src]

impl<'a> From<&'a PyTime> for &'a PyAny[src]

impl<'a> From<&'a PyTuple> for &'a PyAny[src]

impl<'a> From<&'a PyType> for &'a PyAny[src]

impl<'a> From<&'a PyTzInfo> for &'a PyAny[src]

impl<'py> FromPyObject<'py> for &'py PyAny[src]

impl PartialEq<PyAny> for PyAny[src]

impl PyLayout<PyAny> for PyObject[src]

impl PyNativeType for PyAny[src]

impl PySizedLayout<PyAny> for PyObject[src]

impl<U> PyTryInto<U> for PyAny where
    U: for<'v> PyTryFrom<'v>, 
[src]

impl PyTypeInfo for PyAny[src]

type Type = ()

Type of objects to store in PyObject struct

type BaseType = PyAny

Base class

type Layout = PyObject

Layout

type BaseLayout = PyObject

Layout of Basetype.

type Initializer = PyNativeTypeInitializer<Self>

Initializer for layout

type AsRefTarget = Self

Utility type to make AsPyRef work

impl ToPyObject for PyAny[src]

Auto Trait Implementations

impl !RefUnwindSafe for PyAny

impl !Send for PyAny

impl !Sync for PyAny

impl Unpin for PyAny

impl UnwindSafe for PyAny

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> FromPy<T> for T[src]

impl<'p, T> FromPyPointer<'p> for T where
    T: 'p + PyNativeType
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> IntoPy<U> for T where
    U: FromPy<T>, 
[src]

impl<'py, T> PyDowncastImpl for T where
    T: 'py + PyNativeType
[src]

impl<'v, T> PyTryFrom<'v> for T where
    T: PyDowncastImpl + PyTypeInfo + PyNativeType
[src]

impl<T> PyTypeObject for T where
    T: PyTypeInfo
[src]

impl<T> ToBorrowedObject for T where
    T: ToPyObject
[src]

impl<T> ToBorrowedObject for T where
    T: ToPyObject + AsPyPointer
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.