pub struct PyIterator(/* private fields */);
Expand description
A Python iterator object.
Values of this type are accessed via PyO3’s smart pointers, e.g. as
Py<PyIterator>
or Bound<'py, PyIterator>
.
§Examples
use pyo3::prelude::*;
Python::with_gil(|py| -> PyResult<()> {
let list = py.eval_bound("iter([1, 2, 3, 4])", None, None)?;
let numbers: PyResult<Vec<usize>> = list
.iter()?
.map(|i| i.and_then(|i|i.extract::<usize>()))
.collect();
let sum: usize = numbers?.iter().sum();
assert_eq!(sum, 10);
Ok(())
})
Implementations§
Source§impl PyIterator
impl PyIterator
Sourcepub fn from_bound_object<'py>(
obj: &Bound<'py, PyAny>,
) -> PyResult<Bound<'py, PyIterator>>
pub fn from_bound_object<'py>( obj: &Bound<'py, PyAny>, ) -> PyResult<Bound<'py, PyIterator>>
Builds an iterator for an iterable Python object; the equivalent of calling iter(obj)
in Python.
Usually it is more convenient to write obj.iter()
,
which is a more concise way of calling this function.
Trait Implementations§
Source§impl AsPyPointer for PyIterator
impl AsPyPointer for PyIterator
Source§impl AsRef<PyAny> for PyIterator
impl AsRef<PyAny> for PyIterator
Source§impl Deref for PyIterator
impl Deref for PyIterator
Source§impl PyTypeCheck for PyIterator
impl PyTypeCheck for PyIterator
impl DerefToPyAny for PyIterator
Auto Trait Implementations§
impl !Freeze for PyIterator
impl !RefUnwindSafe for PyIterator
impl !Send for PyIterator
impl !Sync for PyIterator
impl Unpin for PyIterator
impl UnwindSafe for PyIterator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more