Provides a 'classproperty' decorator.
Project description
Simple Python classproperty
decorator
This module provides a simple way for defining class properties.
Install
You can install this Python module via pip:
pip install simple-classproperty
Otherwise the module can be downloaded from PyPI: https://pypi.org/project/simple-classproperty/
Usage
- Import the module:
from simple_classproperty import ClasspropertyMeta, classproperty
- Create a class with a class property:
class NewClass(metaclass=ClasspropertyMeta): _attr = "val" @classproperty def attr(cls): return cls._attr
Don't forget to set themetaclass
! - (Optional) Define also a setter and deleter for the newly created class property (this works like the standard python
property
):@attr.setter def attr(cls, value): cls._attr = value @attr.deleter def attr(cls): del cls._attr
Tips
The classproperty
is also accessible from an instance:
instance = NewClass()
print(instance.attr) # "val"
When the value of the property is changed from an instance object, the class property will be changed. All other instances will have this new value:
instance1 = NewClass()
instance2 = NewClass()
instance1.attr = "new"
print(instance1.attr) # "new"
print(instance2.attr) # "new"
print(NewClass.attr) # "new"
This behavior is the same when a property gets deleted from an instance.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file simple_classproperty-4.0.2.tar.gz
.
File metadata
- Download URL: simple_classproperty-4.0.2.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.17 Linux/6.2.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71ba436fc868f540c1908ecb0ef78ce14ea6fb1320cf4addd84945fb92988d5f |
|
MD5 | bbb1a9501eec179f0145518d171174f7 |
|
BLAKE2b-256 | 6372f18598765a3a14fff37eb9daaf21f9907e5685afef57187bc9bda5cdcb20 |
File details
Details for the file simple_classproperty-4.0.2-py3-none-any.whl
.
File metadata
- Download URL: simple_classproperty-4.0.2-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.17 Linux/6.2.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac13ae65df997257e72888fd3c875c97d711ae2b625ead93be28b7d79c8d0b7a |
|
MD5 | deda6bbaba8968b386ad075ed188ce42 |
|
BLAKE2b-256 | 0e9161e9f76d7afc991bee5c6bbb175e6c22c03ac4bf6aad5c0eaa82b6088757 |