Skip to main content

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}")  # get unchanged 6

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

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

refdatatypes-1.0.3.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refdatatypes-1.0.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file refdatatypes-1.0.3.tar.gz.

File metadata

  • Download URL: refdatatypes-1.0.3.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.5

File hashes

Hashes for refdatatypes-1.0.3.tar.gz
Algorithm Hash digest
SHA256 76a66f68ead071da5090f824305a62d8496d75fcd16635ddf384ecaccf942a61
MD5 4209cb10a91d0b8a79a4b1206078ee51
BLAKE2b-256 182e289e6487df73b58339f6fe584f6050bc8633a89d272dd7eabd21f5f43ffa

See more details on using hashes here.

File details

Details for the file refdatatypes-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: refdatatypes-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.5

File hashes

Hashes for refdatatypes-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dbd53ba037ddffc1bcf8dfa5c2d1a00d2350dcec80fd707d2e2bc4b5322c0a0c
MD5 d7a6463a7e7475cee45f606a98788889
BLAKE2b-256 5b63c3c97a4e090e237ed2b35e1cd6bd3cbf6c51733992c413aaff1b81deeaba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page