Pyton basic datatypes as a references.
Project description
refdatatypes
Pyton basic datatypes as a references. Solve problems with static class immutable datatypes.
Installation
pip3 install refdatatypes
Problem
class A:
static = 1
class B(A):
pass
print(f"int {A.static}") # get 1 correctly
print(f"int {B.static}") # get 1 correctly
A.static = 5
print(f"int {A.static}") # get 5 correctly
print(f"int {B.static}") # get 5 correctly
B.static = 6
print(f"int {A.static}") # expected 6, but get 5 incorrectly
print(f"int {B.static}") # get 6 correctly
A.static = 7
print(f"int {A.static}") # get 7 correctly
print(f"int {B.static}") # expected 7, but get unchanged 6, incorrectly
Solution
from refdatatypes.refint import RefInt
class AAA:
static = RefInt(1)
class BBB(AAA):
pass
print(f"refint {AAA.static.value}") # get 1 correctly
print(f"refint {BBB.static.value}") # get 1 correctly
AAA.static.value = 5
print(f"refint {AAA.static.value}") # get 5 correctly
print(f"refint {BBB.static.value}") # get 5 correctly
BBB.static.value = 6
print(f"refint {AAA.static.value}") # get 6 correctly
print(f"refint {BBB.static.value}") # get 6 correctly
AAA.static.value = 7
print(f"refint {AAA.static.value}") # get 7 correctly
print(f"refint {BBB.static.value}") # get 7 correctly
More details you can find in included examples static_class_attribute_problem.py and static_class_attribute_solution.py .
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
refdatatypes-1.0.7.tar.gz
(3.5 kB
view hashes)
Built Distribution
Close
Hashes for refdatatypes-1.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8be4a3419c04b57f52ba0cc789459cf00e58548b5bc5d2097576f0910b0d0c4a |
|
MD5 | 5214fc7621f1fd91a243c8803afb99ae |
|
BLAKE2b-256 | 50a3e559ec390580ba7c11072a0f4bdbabc488f7dd58baf415ef17fb8f808b59 |