This is A foundamental package containing some basic self-designed functions and types for Project PyCTLib.
Project description
pyctlib
Introduction
Package pyctlib is the fundamental package for project PyCTLib, a powerful toolkit for python development. This package provides basic functions for fast python v3.6+ programming. It provides easy communication with the inputs and outputs for the operating systems. It provides quick try-catch function touch, useful types like vector, timing tools like timethis and scope as long as manipulation of file path, reading & writing of text/binary files and command line tools.
Installation
This package can be installed by pip install pyctlib or moving the source code to the directory of python libraries (the source code can be downloaded on github or PyPI).
pip install pyctlib
Basic Types
vector
vector is an improved implement of list for python. In addition to original function for list, it has the following advanced usage:
In [1]: from pyctlib.basictype import vector
In [2]: a = vector([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
In [3]: a.map(lambda x: x * 2)
Out[3]: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
In [4]: a.filter(lambda x: x % 2 == 0)
Out[4]: [2, 4, 6, 8, 10]
In [5]: a.all(lambda x: x > 1)
Out[5]: False
In [6]: a.any(lambda x: x == 2)
Out[6]: True
In [7]: a[a > 7] = 7
In [8]: a
Out[8]: [1, 2, 3, 4, 5, 6, 7, 7, 7, 7]
In [9]: a.reduce(lambda x, y: x + y)
Out[9]: 49
In [10]: a.index(lambda x: x % 4 == 0)
Out[10]: 3
File Management
Timing Tools
scope
>>> from pyctlib import scope, jump
>>> with scope("name1"):
... print("timed1")
...
timed1
[name1 takes 0.000048s]
>>> with scope("name2"), jump:
... print("timed2")
...
>>>
timethis
>>> from pyctlib import timethis
>>> @timethis
... def func(): print('timed')
...
>>> func()
timed
[func takes 0.000050s]
Touch function
>>> from pyctlib import touch
>>> touch(lambda: 1/0, 'error')
'error'
>>> touch('a')
>>> a = 4
>>> touch('a')
4
Acknowledgment
@Yiteng Zhang, Yuncheng Zhou: Developers
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zytlib-0.3.350-py3-none-any.whl.
File metadata
- Download URL: zytlib-0.3.350-py3-none-any.whl
- Upload date:
- Size: 75.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcfc263c965e5039eec4502e1a0bd7973282c6904e05735c502af96c90fc95ff
|
|
| MD5 |
a7226a882714c5bfc9da0ccdad596273
|
|
| BLAKE2b-256 |
9830700901abb424f018d0c0bf2f03f37293b8aa32c6f16899cf14494b674e96
|