[−][src]Struct rustpython_vm::obj::objclassmethod::PyClassMethod
classmethod(function) -> method
Convert a function to be a class method.
A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:
class C: @classmethod def f(cls, arg1, arg2, ...): ...
It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.
Class methods are different than C++ or Java static methods. If you want those, see the staticmethod builtin.
Methods
impl PyClassMethod
[src][−]
pub fn new(value: PyObjectRef) -> Self
[src]
Trait Implementations
impl Clone for PyClassMethod
[src][+]
impl Debug for PyClassMethod
[src][+]
impl PyClassDef for PyClassMethod
[src]
impl PyClassImpl for PyClassMethod
[src][+]
impl PyValue for PyClassMethod
[src][+]
impl SlotDescriptor for PyClassMethod
[src][+]
Auto Trait Implementations
impl !RefUnwindSafe for PyClassMethod
impl !Send for PyClassMethod
impl !Sync for PyClassMethod
impl Unpin for PyClassMethod
impl !UnwindSafe for PyClassMethod
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,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> IntoPyObject for T where
T: PyValue,
[src][+]
T: PyValue,
impl<T> PyObjectPayload for T where
T: 'static + PyValue,
[src][+]
T: 'static + PyValue,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[+]
V: MultiLane<T>,