Python module for implement object with syntax from JavaScript
Project description
asjs
Python module for implement object with syntax from JavaScript
Implementing access to keys by obj.path.to.your.key
notation as in JavaScript
Installing
pip install asjs
or like this:
curl https://github.com/tankalxat34/pyasjs/raw/main/asjs.py -o asjs.py
Using
Recommended import statement:
from asjs import ObjectNotation
Creating new object
Using dictionary:
obj = ObjectNotation({"key1": "value1", "key2": "value2", "key3": {"a": "b", "lst": [14, 5, 6, 12]}})
Using arguments:
obj = ObjectNotation(key1="value1", key2="value2", key3={"a": "b", "lst": [14, 5, 6, 12]})
Getting values by keys or indexes
>>> obj[0]
value1
>>> obj.key2
value2
>>> obj["key3"]
[14, 5, 6, 12]
Creating new keys in object
obj.year = 2023
or:
>>> obj.set("year", 2023)
or:
>>> year = 2023
>>> obj.set(year)
or:
>>> obj["year"] = 2023
Saving functions in object
>>> obj.fibonachi = lambda n: 1 if n <= 2 else obj.fibonachi(n - 1) + obj.fibonachi(n - 2)
>>> obj.fibonachi(7)
13
Removing keys by string-names or indexes
>>> del obj.year
or:
>>> del obj[-1]
or:
>>> del obj["year"]
Changing value by key
>>> obj.key1 = 123
or:
>>> obj["key1"] = 123
Cycle for
by object
Indexes:
>>> for i in range(len(obj)):
... print(i)
0
1
2
Keys:
>>> for k in obj:
... print(k)
key1
key2
key3
fibonachi
Values:
>>> for v in obj.values():
... print(v)
123
value2
JSObject(a: 'b', lst: JSObject(0: 14, 1: 5, 2: 6, 3: 12))
<function <lambda> at 0x0000020189F19480>
Boolean statements
>>> "key3" in obj
True
>>> "fake_key" in obj
False
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
asjs-0.1.1.tar.gz
(4.1 kB
view details)
Built Distribution
asjs-0.1.1-py3-none-any.whl
(4.3 kB
view details)
File details
Details for the file asjs-0.1.1.tar.gz
.
File metadata
- Download URL: asjs-0.1.1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae8b16bf62b9dfc0767efbb5b212de8f2b329b23251c21d8fe71daae946111b1 |
|
MD5 | 06bb7d1be8ce20a383b89203f23e7f8e |
|
BLAKE2b-256 | 5559b5e9a3f23375a04ba40c3d5a5059a733f15cc6d24a528996384ce0efde75 |
File details
Details for the file asjs-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: asjs-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3c75180efbcc08622852023f6d2ff775f482aa97394bbfa98ea996f75d759cc |
|
MD5 | d23886ffe795c5efe929bbe526ab54ea |
|
BLAKE2b-256 | 2bbbf5e69e56102925fe162e7d6b785b3dcaebb886629745e2e712d33d13e25a |