[−][src]Struct pyo3::PyObject
A python object
The python object's lifetime is managed by python's garbage collector.
Technically, it is a safe wrapper around NonNull<ffi::PyObject>
.
Methods
impl PyObject
[src]
pub unsafe fn from_owned_ptr(_py: Python, ptr: *mut PyObject) -> PyObject
[src]
Creates a PyObject
instance for the given FFI pointer.
This moves ownership over the pointer into the PyObject
.
Undefined behavior if the pointer is NULL or invalid.
pub unsafe fn from_owned_ptr_or_panic(
_py: Python,
ptr: *mut PyObject
) -> PyObject
[src]
_py: Python,
ptr: *mut PyObject
) -> PyObject
Creates a PyObject
instance for the given FFI pointer.
Panics if the pointer is null
.
Undefined behavior if the pointer is invalid.
pub unsafe fn from_owned_ptr_or_err(
py: Python,
ptr: *mut PyObject
) -> PyResult<PyObject>
[src]
py: Python,
ptr: *mut PyObject
) -> PyResult<PyObject>
Construct PyObject
from the result of a Python FFI call that
returns a new reference (owned pointer).
Returns Err(PyErr)
if the pointer is null
.
pub unsafe fn from_owned_ptr_or_opt(
_py: Python,
ptr: *mut PyObject
) -> Option<PyObject>
[src]
_py: Python,
ptr: *mut PyObject
) -> Option<PyObject>
Construct PyObject
from the result of a Python FFI call that
returns a new reference (owned pointer).
Returns None
if the pointer is null
.
pub unsafe fn from_borrowed_ptr(_py: Python, ptr: *mut PyObject) -> PyObject
[src]
Creates a PyObject
instance for the given Python FFI pointer.
Calls Py_INCREF() on the ptr.
Undefined behavior if the pointer is NULL or invalid.
pub unsafe fn from_borrowed_ptr_or_err(
py: Python,
ptr: *mut PyObject
) -> PyResult<PyObject>
[src]
py: Python,
ptr: *mut PyObject
) -> PyResult<PyObject>
Creates a PyObject
instance for the given Python FFI pointer.
Calls Py_INCREF() on the ptr.
Returns Err(PyErr)
if the pointer is null
.
pub unsafe fn from_borrowed_ptr_or_opt(
py: Python,
ptr: *mut PyObject
) -> Option<PyObject>
[src]
py: Python,
ptr: *mut PyObject
) -> Option<PyObject>
Creates a PyObject
instance for the given Python FFI pointer.
Calls Py_INCREF() on the ptr.
Returns None
if the pointer is null
.
pub fn get_refcnt(&self) -> isize
[src]
Gets the reference count of the ffi::PyObject pointer.
pub fn clone_ref(&self, py: Python) -> Self
[src]
Clone self, Calls Py_INCREF() on the ptr.
pub fn is_none(&self) -> bool
[src]
Returns whether the object is considered to be None. This is equivalent to the Python expression: 'is None'
pub fn is_true(&self, py: Python) -> PyResult<bool>
[src]
Returns whether the object is considered to be true. This is equivalent to the Python expression: 'not not self'
pub fn cast_as<D>(&self, py: Python) -> Result<&D, PyDowncastError> where
D: for<'v> PyTryFrom<'v>,
[src]
D: for<'v> PyTryFrom<'v>,
Casts the PyObject to a concrete Python object type.
pub fn extract<'p, D>(&'p self, py: Python) -> PyResult<D> where
D: FromPyObject<'p>,
[src]
D: FromPyObject<'p>,
Extracts some type from the Python object.
This is a wrapper function around FromPyObject::extract()
.
pub fn getattr<N>(&self, py: Python, attr_name: N) -> PyResult<PyObject> where
N: ToPyObject,
[src]
N: ToPyObject,
Retrieves an attribute value. This is equivalent to the Python expression 'self.attr_name'.
pub fn call(
&self,
py: Python,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<PyObject>
[src]
&self,
py: Python,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<PyObject>
Calls the object. This is equivalent to the Python expression: 'self(*args, **kwargs)'
pub fn call0(&self, py: Python) -> PyResult<PyObject>
[src]
Calls the object without arguments. This is equivalent to the Python expression: 'self()'
pub fn call1(
&self,
py: Python,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<PyObject>
[src]
&self,
py: Python,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<PyObject>
Calls the object. This is equivalent to the Python expression: 'self(*args)'
pub fn call_method(
&self,
py: Python,
name: &str,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<PyObject>
[src]
&self,
py: Python,
name: &str,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<PyObject>
Calls a method on the object. This is equivalent to the Python expression: 'self.name(*args, **kwargs)'
pub fn call_method0(&self, py: Python, name: &str) -> PyResult<PyObject>
[src]
Calls a method on the object. This is equivalent to the Python expression: 'self.name()'
pub fn call_method1(
&self,
py: Python,
name: &str,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<PyObject>
[src]
&self,
py: Python,
name: &str,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<PyObject>
Calls a method on the object. This is equivalent to the Python expression: 'self.name(*args)'
Trait Implementations
impl AsPyPointer for PyObject
[src]
impl AsPyRef<PyAny> for PyObject
[src]
impl Debug for PyObject
[src]
impl Drop for PyObject
[src]
Dropping a PyObject
instance decrements the reference count on the object by 1.
impl<'a, T> From<&'a T> for PyObject where
T: AsPyPointer,
[src]
T: AsPyPointer,
impl<'a, T> From<&'a mut T> for PyObject where
T: AsPyPointer,
[src]
T: AsPyPointer,
impl<T> From<Py<T>> for PyObject
[src]
impl<'a> FromPy<&'a [u8]> for PyObject
[src]
impl<'a, T> FromPy<&'a T> for PyObject where
T: AsPyPointer,
[src]
T: AsPyPointer,
impl FromPy<()> for PyObject
[src]
impl FromPy<PyErr> for PyObject
[src]
impl FromPy<String> for PyObject
[src]
impl FromPy<bool> for PyObject
[src]
impl FromPy<f32> for PyObject
[src]
impl FromPy<f64> for PyObject
[src]
impl<'a> FromPyObject<'a> for PyObject
[src]
impl<T> IntoPy<PyObject> for Option<T> where
T: IntoPy<PyObject>,
[src]
T: IntoPy<PyObject>,
impl<'a> IntoPy<PyObject> for &'a PyErr
[src]
impl IntoPy<PyObject> for i32
[src]
impl IntoPy<PyObject> for u32
[src]
impl IntoPy<PyObject> for i64
[src]
impl IntoPy<PyObject> for isize
[src]
impl IntoPy<PyObject> for usize
[src]
impl IntoPy<PyObject> for u64
[src]
impl IntoPy<PyObject> for i128
[src]
impl IntoPy<PyObject> for u128
[src]
impl<'a> IntoPy<PyObject> for &'a str
[src]
impl<'a> IntoPy<PyObject> for &'a String
[src]
impl<T> IntoPy<PyObject> for Py<T>
[src]
fn into_py(self, _py: Python) -> PyObject
[src]
Converts Py
instance -> PyObject.
Consumes self
without calling Py_DECREF()
impl<A: IntoPy<PyObject>> IntoPy<PyObject> for (A,)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>> IntoPy<PyObject> for (A, B)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>, E: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D, E)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>, E: IntoPy<PyObject>, F: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D, E, F)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>, E: IntoPy<PyObject>, F: IntoPy<PyObject>, G: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D, E, F, G)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>, E: IntoPy<PyObject>, F: IntoPy<PyObject>, G: IntoPy<PyObject>, H: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D, E, F, G, H)
[src]
impl<A: IntoPy<PyObject>, B: IntoPy<PyObject>, C: IntoPy<PyObject>, D: IntoPy<PyObject>, E: IntoPy<PyObject>, F: IntoPy<PyObject>, G: IntoPy<PyObject>, H: IntoPy<PyObject>, I: IntoPy<PyObject>> IntoPy<PyObject> for (A, B, C, D, E, F, G, H, I)
[src]
impl<K, V, H> IntoPy<PyObject> for HashMap<K, V, H> where
K: Hash + Eq + IntoPy<PyObject>,
V: IntoPy<PyObject>,
H: BuildHasher,
[src]
K: Hash + Eq + IntoPy<PyObject>,
V: IntoPy<PyObject>,
H: BuildHasher,
impl<K, V> IntoPy<PyObject> for BTreeMap<K, V> where
K: Eq + IntoPy<PyObject>,
V: IntoPy<PyObject>,
[src]
K: Eq + IntoPy<PyObject>,
V: IntoPy<PyObject>,
impl<T> IntoPy<PyObject> for Vec<T> where
T: IntoPy<PyObject>,
[src]
T: IntoPy<PyObject>,
impl IntoPy<PyObject> for i8
[src]
impl IntoPy<PyObject> for u8
[src]
impl IntoPy<PyObject> for i16
[src]
impl IntoPy<PyObject> for u16
[src]
impl IntoPyPointer for PyObject
[src]
#[must_use]
fn into_ptr(self) -> *mut PyObject
[src]
Gets the underlying FFI pointer, returns a owned pointer.
impl PartialEq<PyObject> for PyObject
[src]
fn eq(&self, o: &PyObject) -> bool
[src]
Checks for identity, not python's __eq__
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl Send for PyObject
[src]
impl Sync for PyObject
[src]
impl ToPyObject for PyObject
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,