Struct cpython::PySequence

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

Represents a reference to a python object supporting the sequence protocol.

Implementations§

source§

impl PySequence

source

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

Returns the number of objects in sequence. This is equivalent to Python len().

source

pub fn concat(&self, py: Python<'_>, other: &PySequence) -> PyResult<PyObject>

Return the concatenation of o1 and o2. Equivalent to python o1 + o2

source

pub fn repeat(&self, py: Python<'_>, count: isize) -> PyResult<PyObject>

Return the result of repeating sequence object o count times. Equivalent to python o * count NB: Python accepts negative counts; it returns an empty Sequence.

source

pub fn in_place_concat( &self, py: Python<'_>, other: &PySequence, ) -> PyResult<PyObject>

Return the concatenation of o1 and o2 on success. Equivalent to python o1 += o2

source

pub fn in_place_repeat( &self, py: Python<'_>, count: isize, ) -> PyResult<PyObject>

Return the result of repeating sequence object o count times. Equivalent to python o *= count NB: Python accepts negative counts; it empties the Sequence.

source

pub fn get_item(&self, py: Python<'_>, index: isize) -> PyResult<PyObject>

Return the ith element of the Sequence. Equivalent to python o[index]

source

pub fn get_slice( &self, py: Python<'_>, begin: isize, end: isize, ) -> PyResult<PyObject>

Return the slice of sequence object o between begin and end. This is the equivalent of the Python expression o[begin:end]

source

pub fn set_item(&self, py: Python<'_>, i: isize, v: &PyObject) -> PyResult<()>

Assign object v to the ith element of o. Equivalent to Python statement o[i] = v

source

pub fn del_item(&self, py: Python<'_>, i: isize) -> PyResult<()>

Delete the ith element of object o. Python statement del o[i]

source

pub fn set_slice( &self, py: Python<'_>, i1: isize, i2: isize, v: &PyObject, ) -> PyResult<()>

Assign the sequence object v to the slice in sequence object o from i1 to i2. This is the equivalent of the Python statement o[i1:i2] = v

source

pub fn del_slice(&self, py: Python<'_>, i1: isize, i2: isize) -> PyResult<()>

Delete the slice in sequence object o from i1 to i2. equivalent of the Python statement del o[i1:i2]

source

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

Return the number of occurrences of value in o, that is, return the number of keys for which o[key] == value

source

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

Determine if o contains value. this is equivalent to the Python expression value in o

source

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

Return the first index i for which o[i] == value. This is equivalent to the Python expression o.index(value)

source

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

Return a fresh list based on the Sequence.

source

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

Return a fresh tuple based on the Sequence.

source

pub fn iter<'p>(&self, py: Python<'p>) -> PyResult<PyIterator<'p>>

Trait Implementations§

source§

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

source§

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

Extracts Self from the source PyObject.
source§

impl<'s> FromPyObject<'s> for PySequence

source§

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

Extracts Self from the source PyObject.
source§

impl PythonObject for PySequence

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 PySequence

source§

fn downcast_from<'p>( py: Python<'p>, obj: PyObject, ) -> Result<PySequence, 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 PySequence, PythonObjectDowncastError<'p>>

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

impl ToPyObject for PySequence

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

§

type ObjectType = PySequence

source§

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

Converts self into a Python object.
source§

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

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§

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.