◐ Shell
clean mode source ↗

rustpython_vm::obj::objproperty::PyProperty - Rust

Property attribute.

fget function to be used for getting an attribute value fset function to be used for setting an attribute value fdel function to be used for del'ing an attribute doc docstring

Typical use is to define a managed attribute x:

class C(object): def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.")

Decorators make defining new properties or modifying existing ones easy:

class C(object): @property def x(self): "I am the 'x' property." return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x

impl Debug for PyProperty[src]

impl PyClassDef for PyProperty[src]

const NAME: &'static str[src]

const DOC: Option<&'static str>[src]

impl PyClassImpl for PyProperty[src]

const TP_FLAGS: PyTpFlags[src]

fn impl_extend_class(ctx: &PyContext, class: &PyClassRef)[src]

fn extend_class(ctx: &PyContext, class: &PyClassRef)[src]

fn make_class(ctx: &PyContext) -> PyClassRef[src]

fn make_class_with_base(ctx: &PyContext, base: PyClassRef) -> PyClassRef[src]

impl PyValue for PyProperty[src]

fn class(vm: &VirtualMachine) -> PyClassRef[src]

const HAVE_DICT: bool[src]

fn into_ref(self, vm: &VirtualMachine) -> PyRef<Self>[src]

fn into_ref_with_type(
    self,
    vm: &VirtualMachine,
    cls: PyClassRef
) -> PyResult<PyRef<Self>>
[src]

fn into_ref_with_type_unchecked(
    self,
    cls: PyClassRef,
    dict: Option<PyDictRef>
) -> PyRef<Self>
[src]

impl SlotDescriptor for PyProperty[src]

fn descr_get(
    vm: &VirtualMachine,
    zelf: PyObjectRef,
    obj: Option<PyObjectRef>,
    _cls: OptionalArg<PyObjectRef>
) -> PyResult
[src]

fn get(
    zelf: PyObjectRef,
    obj: PyObjectRef,
    cls: OptionalArg<PyObjectRef>,
    vm: &VirtualMachine
) -> PyResult
[src]

fn _zelf(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyRef<Self>>[src]

fn _unwrap(
    zelf: PyObjectRef,
    obj: Option<PyObjectRef>,
    vm: &VirtualMachine
) -> PyResult<(PyRef<Self>, PyObjectRef)>
[src]

fn _check(
    zelf: PyObjectRef,
    obj: Option<PyObjectRef>,
    vm: &VirtualMachine
) -> Result<(PyRef<Self>, PyObjectRef), PyResult>
[src]

fn _cls_is<T>(cls: &OptionalArg<PyObjectRef>, other: &T) -> bool where
    T: IdProtocol
[src]

fn __extend_py_class(ctx: &PyContext, class: &PyClassRef)[src]

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]

fn from(t: T) -> T[src]

Performs the conversion.

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

fn into(self) -> U[src]

Performs the conversion.

impl<T> IntoPyObject for T where
    T: PyValue
[src]

fn into_pyobject(
    Self,
    &VirtualMachine
) -> Result<Rc<PyObject<dyn PyObjectPayload + 'static>>, PyRef<PyBaseException>>
[src]

impl<T> PyObjectPayload for T where
    T: 'static + PyValue
[src]

fn as_any(&Self) -> &(dyn Any + 'static)[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

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

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

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

fn vzip(self) -> V