Struct cpython::PyDict

source ·
pub struct PyDict(/* private fields */);
Expand description

Represents a Python dict.

Implementations§

source§

impl PyDict

source

pub fn new(py: Python<'_>) -> PyDict

Creates a new empty dictionary.

May panic when running out of memory.

source

pub fn copy(&self, py: Python<'_>) -> PyResult<PyDict>

Return a new dictionary that contains the same key-value pairs as self. Corresponds to dict(self) in Python.

source

pub fn clear(&self, _py: Python<'_>)

Empty an existing dictionary of all key-value pairs.

source

pub fn len(&self, _py: Python<'_>) -> usize

Return the number of items in the dictionary. This is equivalent to len(p) on a dictionary.

source

pub fn contains<K>(&self, py: Python<'_>, key: K) -> PyResult<bool>
where K: ToPyObject,

Determine if the dictionary contains the specified key. This is equivalent to the Python expression key in self.

source

pub fn get_item<K>(&self, py: Python<'_>, key: K) -> Option<PyObject>
where K: ToPyObject,

Gets an item from the dictionary. Returns None if the item is not present, or if an error occurs.

source

pub fn set_item<K, V>(&self, py: Python<'_>, key: K, value: V) -> PyResult<()>
where K: ToPyObject, V: ToPyObject,

Sets an item value. This is equivalent to the Python expression self[key] = value.

source

pub fn del_item<K>(&self, py: Python<'_>, key: K) -> PyResult<()>
where K: ToPyObject,

Deletes an item. This is equivalent to the Python expression del self[key].

source

pub fn items_list(&self, py: Python<'_>) -> PyList

source

pub fn items(&self, py: Python<'_>) -> Vec<(PyObject, PyObject)>

Returns the list of (key,value) pairs in this dictionary.

Trait Implementations§

source§

impl<'s> FromPyObject<'s> for &'s PyDict

source§

fn extract(py: Python<'_>, obj: &'s PyObject) -> PyResult<&'s PyDict>

Extracts Self from the source PyObject.
source§

impl<'s> FromPyObject<'s> for PyDict

source§

fn extract(py: Python<'_>, obj: &'s PyObject) -> PyResult<PyDict>

Extracts Self from the source PyObject.
source§

impl PythonObject for PyDict

source§

unsafe fn unchecked_downcast_from(obj: PyObject) -> Self

Unchecked downcast from PyObject to Self. Undefined behavior if the input object does not have the expected type.

source§

unsafe fn unchecked_downcast_borrow_from<'a>(obj: &'a PyObject) -> &'a Self

Unchecked downcast from PyObject to Self. Undefined behavior if the input object does not have the expected type.

source§

fn as_object(&self) -> &PyObject

Casts the Python object to PyObject.
source§

fn into_object(self) -> PyObject

Casts the Python object to PyObject.
source§

impl PythonObjectWithCheckedDowncast for PyDict

source§

fn downcast_from<'p>( py: Python<'p>, obj: PyObject ) -> Result<PyDict, PythonObjectDowncastError<'p>>

Cast from PyObject to a concrete Python object type.
source§

fn downcast_borrow_from<'a, 'p>( py: Python<'p>, obj: &'a PyObject ) -> Result<&'a PyDict, PythonObjectDowncastError<'p>>

Cast from PyObject to a concrete Python object type.
source§

impl PythonObjectWithTypeObject for PyDict

source§

fn type_object(py: Python<'_>) -> PyType

Retrieves the type object for this Python object type.
source§

impl ToPyObject for PyDict

Identity conversion: allows using existing PyObject instances where T: ToPyObject is expected.

§

type ObjectType = PyDict

source§

fn to_py_object(&self, py: Python<'_>) -> PyDict

Converts self into a Python object.
source§

fn into_py_object(self, _py: Python<'_>) -> PyDict

Converts self into a Python object. Read more
source§

fn with_borrowed_ptr<F, R>(&self, _py: Python<'_>, f: F) -> R
where F: FnOnce(*mut PyObject) -> R,

Converts self into a Python object and calls the specified closure on the native FFI pointer underlying the Python object. Read more

Auto Trait Implementations§

§

impl Freeze for PyDict

§

impl RefUnwindSafe for PyDict

§

impl Send for PyDict

§

impl Sync for PyDict

§

impl Unpin for PyDict

§

impl UnwindSafe for PyDict

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> PyClone for T
where T: PythonObject,

source§

fn clone_ref(&self, py: Python<'_>) -> T

source§

impl<T> PyDrop for T
where T: PythonObject,

source§

fn release_ref(self, _py: Python<'_>)

source§

impl<T> RefFromPyObject for T
where &'a T: for<'a> FromPyObject<'a>, T: ?Sized,

source§

fn with_extracted<F, R>( py: Python<'_>, obj: &PyObject, f: F ) -> Result<R, PyErr>
where F: FnOnce(&T) -> R,

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.