Utils for simplifying work with classes
Project description
Utils for simplifying work with classes
Usage:
pip install class-utils
Properties:
Mixins:
default_property
from class_utils import default_property
class Point():
x = default_property('x')
y = default_property('y')
def __init__(self, x, y):
self.x = x
self.y = y
point1 = Point(1, 4)
print(point1.x) # => 1
point1.x = 3
print(point1.x) # => 3
default_getter
from class_utils import default_getter
class Point():
x = default_getter('x')
y = default_getter('y')
def __init__(self, x, y):
self._x = x
self._y = y
point1 = Point(1, 4)
print(point1.x) # => 1
typed_property
from class_utils import typed_property
class Person():
name = typed_property('name', str)
def __init__(self, name):
self.name = name
person1 = Person('Bill')
print(person1.name) # => 'Bill'
person1.name = 123 # => TypeError: name must be a <class 'str'>
DefaultRepresentationMixin
from class_utils import default_property, DefaultRepresentationMixin
class Date(DefaultRepresentationMixin):
day = default_property('day')
month = default_property('month')
year = default_property('year')
def __init__(self, day, month, year):
self.day = day
self.month = month
self.year = year
date1 = Date(12, 12, 2012)
print(date1) # => Date({'_day': 12, '_month': 12, '_year': 2012})
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
class-utils-0.0.5.tar.gz
(2.1 kB
view hashes)
Built Distribution
Close
Hashes for class_utils-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d1bc595ce681729c2631666077a98ec07d648ca6962159c6331eb236acca877 |
|
MD5 | db4171c457b7af995f188e2bbe11ca49 |
|
BLAKE2b-256 | dc884c47f811821be5a40cd444dcc20a90294c89b9c89f45c6084382a58d18e4 |