PYPIPR
- ComparePerformance
- LINUX
- WINDOWS
- batch_calculate
- batchmaker
- calculate
- chr_to_int
- chunk_array
- datetime_from_string
- datetime_now
- filter_empty
- get_class_method
- irange
- random_bool
ComparePerformance
Menjalankan seluruh method dalam class, Kemudian membandingkan waktu yg diperlukan. Nilai 100 berarti yang tercepat.
example :
import pprint
class ExampleComparePerformance(ComparePerformance):
# number = 1
z = 10
def a(self):
return (x for x in range(self.z))
def b(self):
return tuple(x for x in range(self.z))
def c(self):
return [x for x in range(self.z)]
def d(self):
return list(x for x in range(self.z))
pprint.pprint(ExampleComparePerformance().compare_result())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
print(ExampleComparePerformance().compare_performance())
result :
{'a': <generator object test.<locals>.ExampleComparePerformance.a.<locals>.<genexpr> at 0x77d7cc1300>,
'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
{'a': 121, 'b': 165, 'c': 99, 'd': 261}
{'a': 99, 'b': 160, 'c': 99, 'd': 204}
{'a': 99, 'b': 150, 'c': 101, 'd': 193}
{'a': 102, 'b': 159, 'c': 100, 'd': 194}
{'a': 100, 'b': 164, 'c': 103, 'd': 192}
LINUX
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
example :
print(LINUX)
result :
True
WINDOWS
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
example :
print(WINDOWS)
result :
False
batch_calculate
Analisa perhitungan massal. Bisa digunakan untuk mencari alternatif terendah/tertinggi/dsb.
example :
res = batch_calculate("({1 10} m) ** {1 3}")
for k, v in res:
print(f"{k} : {v:~P}")
result :
(1 m) ** 1 : 1 m
(1 m) ** 2 : 1 m²
(1 m) ** 3 : 1 m³
(2 m) ** 1 : 2 m
(2 m) ** 2 : 4 m²
(2 m) ** 3 : 8 m³
(3 m) ** 1 : 3 m
(3 m) ** 2 : 9 m²
(3 m) ** 3 : 27 m³
(4 m) ** 1 : 4 m
(4 m) ** 2 : 16 m²
(4 m) ** 3 : 64 m³
(5 m) ** 1 : 5 m
(5 m) ** 2 : 25 m²
(5 m) ** 3 : 125 m³
(6 m) ** 1 : 6 m
(6 m) ** 2 : 36 m²
(6 m) ** 3 : 216 m³
(7 m) ** 1 : 7 m
(7 m) ** 2 : 49 m²
(7 m) ** 3 : 343 m³
(8 m) ** 1 : 8 m
(8 m) ** 2 : 64 m²
(8 m) ** 3 : 512 m³
(9 m) ** 1 : 9 m
(9 m) ** 2 : 81 m²
(9 m) ** 3 : 729 m³
(10 m) ** 1 : 10 m
(10 m) ** 2 : 100 m²
(10 m) ** 3 : 1000 m³
batchmaker
Alat Bantu untuk membuat teks yang berulang.
Gunakan {[start][separator][finish]([separator][step])}.
[start] dan [finish] -> bisa berupa huruf maupun angka
([separator][step]) -> bersifat optional
[separator] -> selain huruf dan angka
[step] -> berupa angka positif
example :
import pprint
pattern = "Urutan {1/6/3} dan {10:9} dan {j k} dan {Z - A - 15} saja."
pprint.pprint(list(batchmaker(pattern)))
result :
['Urutan 1 dan 10 dan j dan Z saja.',
'Urutan 1 dan 10 dan j dan K saja.',
'Urutan 1 dan 10 dan j dan saja.',
'Urutan 1 dan 10 dan k dan Z saja.',
'Urutan 1 dan 10 dan k dan K saja.',
'Urutan 1 dan 10 dan k dan saja.',
'Urutan 1 dan 9 dan j dan Z saja.',
'Urutan 1 dan 9 dan j dan K saja.',
'Urutan 1 dan 9 dan j dan saja.',
'Urutan 1 dan 9 dan k dan Z saja.',
'Urutan 1 dan 9 dan k dan K saja.',
'Urutan 1 dan 9 dan k dan saja.',
'Urutan 4 dan 10 dan j dan Z saja.',
'Urutan 4 dan 10 dan j dan K saja.',
'Urutan 4 dan 10 dan j dan saja.',
'Urutan 4 dan 10 dan k dan Z saja.',
'Urutan 4 dan 10 dan k dan K saja.',
'Urutan 4 dan 10 dan k dan saja.',
'Urutan 4 dan 9 dan j dan Z saja.',
'Urutan 4 dan 9 dan j dan K saja.',
'Urutan 4 dan 9 dan j dan saja.',
'Urutan 4 dan 9 dan k dan Z saja.',
'Urutan 4 dan 9 dan k dan K saja.',
'Urutan 4 dan 9 dan k dan saja.',
'Urutan 7 dan 10 dan j dan Z saja.',
'Urutan 7 dan 10 dan j dan K saja.',
'Urutan 7 dan 10 dan j dan saja.',
'Urutan 7 dan 10 dan k dan Z saja.',
'Urutan 7 dan 10 dan k dan K saja.',
'Urutan 7 dan 10 dan k dan saja.',
'Urutan 7 dan 9 dan j dan Z saja.',
'Urutan 7 dan 9 dan j dan K saja.',
'Urutan 7 dan 9 dan j dan saja.',
'Urutan 7 dan 9 dan k dan Z saja.',
'Urutan 7 dan 9 dan k dan K saja.',
'Urutan 7 dan 9 dan k dan saja.']
calculate
Mengembalikan hasil dari perhitungan teks menggunakan modul pint. Mendukung perhitungan matematika dasar dengan satuan.
Return value:
- Berupa class Quantity dari modul pint
Format:
- f"{result:~P}" -> pretty
- f"{result:~H}" -> html
- result.to_base_units() -> SI
- result.to_compact() -> human readable
example :
fx = "3 meter * 10 cm * 3 km"
res = calculate(fx)
print(res)
print(res.to_base_units())
print(res.to_compact())
print(f"{res:~P}")
print(f"{res:~H}")
result :
90 centimeter * kilometer * meter
900.0 meter ** 3
900.0 meter ** 3
90 cm·km·m
90 cm km m
chr_to_int
Fungsi ini berguna untuk mengubah urutan huruf menjadi angka. dimulai dari a = 0
example :
print(chr_to_int("a"))
print(chr_to_int("z"))
print(chr_to_int("ac"))
print(chr_to_int("abc", numbers="abcde"))
result :
0
25
28
37
chunk_array
Membagi array menjadi potongan-potongan dengan besaran yg diinginkan
example :
arr = [2, 3, 12, 3, 3, 42, 42, 1, 43, 2, 42, 41, 4, 24, 32, 42, 3, 12, 32, 42, 42]
print(chunk_array(arr, 5))
pprint.pprint(list(chunk_array(arr, 5)))
result :
<generator object chunk_array at 0x77e1490310>
[[2, 3, 12, 3, 3],
[42, 42, 1, 43, 2],
[42, 41, 4, 24, 32],
[42, 3, 12, 32, 42],
[42]]
datetime_from_string
Parse iso_string menjadi datetime object. Mempermudah untuk konversi timezone
example :
print(datetime_from_string("2022-12-12 15:40:13").isoformat())
print(datetime_from_string("2022-12-12 15:40:13", timezone="Asia/Jakarta"))
result :
2022-12-12T15:40:13+00:00
2022-12-12 15:40:13+07:00
datetime_now
Memudahkan dalam membuat Datetime untuk suatu timezone tertentu
example :
print(datetime_now())
print(datetime_now("Asia/Jakarta"))
print(datetime_now("GMT"))
print(datetime_now("Etc/GMT+7"))
result :
2025-10-20 10:17:28.695107
2025-10-20 10:17:28.695134+07:00
2025-10-20 03:17:28.695909+00:00
2025-10-19 20:17:28.699404-07:00
filter_empty
Generator yang mengembalikan elemen non-kosong dari iterable. Lihat docstring sebelumnya untuk detail parameter.
example :
var = [1, None, False, 0, "0", True, {}, ['eee']]
print(filter_empty(var))
print(list(filter_empty(var)))
result :
<generator object filter_empty at 0x77d7e7e510>
[1, '0', True, ['eee']]
get_class_method
Mengembalikan berupa tuple yg berisi list dari method dalam class
example :
class ExampleGetClassMethod:
def a(self):
return [x for x in range(10)]
def b(self):
return [x for x in range(10)]
def c(self):
return [x for x in range(10)]
def d(self):
return [x for x in range(10)]
print(get_class_method(ExampleGetClassMethod))
pprint.pprint(list(get_class_method(ExampleGetClassMethod)))
result :
<generator object get_class_method at 0x77d1d0e180>
[<function test.<locals>.ExampleGetClassMethod.a at 0x77d1d253a0>,
<function test.<locals>.ExampleGetClassMethod.b at 0x77d1d26480>,
<function test.<locals>.ExampleGetClassMethod.c at 0x77d1d25580>,
<function test.<locals>.ExampleGetClassMethod.d at 0x77d1d26520>]
irange
Meningkatkan fungsi range() dari python untuk pengulangan menggunakan huruf
example :
print(list(irange(10)))
print(list(irange(3, 15)))
print(list(irange(13, 5)))
print(list(irange(2, 10, 3)))
print(list(irange(2, "10", 3)))
print(list(irange("10")))
print(list(irange("10", "100", 7)))
print(list(irange("h")))
print(list(irange("A", "D")))
print(list(irange("z", "a", 4)))
result :
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[13, 12, 11, 10, 9, 8, 7, 6]
[2, 5, 8]
[2, 5, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 17, 24, 31, 38, 45, 52, 59, 66, 73, 80, 87, 94]
['a', 'b', 'c', 'd', 'e', 'f', 'g']
['A', 'B', 'C']
['z', 'v', 'r', 'n', 'j', 'f', 'b']
random_bool
Menghasilkan nilai random True atau False. Fungsi ini merupakan fungsi tercepat untuk mendapatkan random bool. Fungsi ini sangat cepat, tetapi pemanggilan fungsi ini membutuhkan overhead yg besar.
example :
print(random_bool())
result :
False
Metadata
Release files for pypipr 3.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypipr-3.0.4.tar.gz | 26.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypipr-3.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.2 kB
Release files / pypipr-3.0.4.tar.gz
| Download URL | pypipr-3.0.4.tar.gz |
|---|---|
| Size | 26.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97ae23adc04292611964b65177f42c241eb094f2f63d75c6a3961371db489a59
|
|
BLAKE2b-256 checksum How to use checksums |
946e22085f1b669cb3519bb0f04f1ee1d4bf6a75713c6f38deae4f19664ad83b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|
Release files / pypipr-3.0.4-py3-none-any.whl
| Download URL | pypipr-3.0.4-py3-none-any.whl |
|---|---|
| Size | 39.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4008a77c899c54851b89f84aaa4f7d49f68f70c5b534cc75ec96ed4438e6f8ac
|
|
BLAKE2b-256 checksum How to use checksums |
234fd28b3d5b1e336ab52d02efdb752d7c0203e5aa85123987e70f56e5b9f90b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|