Like partial, but you can determine the order of *args
Project description
Like partial, but you can determine the order of *args
pip install flexible-partial
#######################################
Update 2022-12-04:
# When you use FlexiblePartialOwnName, you can define the output of __str__ and __repr__
from flexible_partial import FlexiblePartial, FlexiblePartialOwnName
import regex
from random import choice
from string import ascii_lowercase
text = """Hi, my friend, how are you?"""
allfus = [
FlexiblePartialOwnName(
regex.sub,
f'{x} Hello, I am a function!', # for __str__ and __repr__
True, # this_args_first = True (choice(list(ascii_lowercase)) will be the first arg when the function is called)
choice(list(ascii_lowercase)),
flags=regex.IGNORECASE,
)
for x in range(10)
]
for alsw in allfus:
print(f"Executing: {alsw}")
text = alsw("P", text)
print(text)
Executing: 0 Hello, I am a function!
Hi, my friePd, how are you?
Executing: 1 Hello, I am a function!
Hi, my friePd, how are you?
Executing: 2 Hello, I am a function!
Hi, mP friePd, how are Pou?
Executing: 3 Hello, I am a function!
Hi, mP friePd, how are Pou?
Executing: 4 Hello, I am a function!
Hi, mP friePd, hPw are PPu?
Executing: 5 Hello, I am a function!
Hi, mP friePd, hPw are PPu?
Executing: 6 Hello, I am a function!
Hi, PP friePd, hPw are PPu?
Executing: 7 Hello, I am a function!
Hi, PP friePd, hPP are PPu?
Executing: 8 Hello, I am a function!
Hi, PP friePd, hPP Pre PPu?
Executing: 9 Hello, I am a function!
Hi, PP friePd, hPP Pre PPP?
#######################################
from flexible_partial import FlexiblePartial
import regex
from random import choice
from string import ascii_lowercase
text = """Hi, my friend, how are you?"""
allfus = [
FlexiblePartial(
regex.sub,
True, # this_args_first = True (choice(list(ascii_lowercase)) will be the first arg when the function is called)
choice(list(ascii_lowercase)),
flags=regex.IGNORECASE,
)
for x in range(10)
]
for alsw in allfus:
print(f"Executing: {alsw}")
text = alsw("P", text)
print(text)
# Executing: regex.regex.sub('z', flags=regex.I)
# Hi, my friend, how are you?
# Executing: regex.regex.sub('o', flags=regex.I)
# Hi, my friend, hPw are yPu?
# Executing: regex.regex.sub('u', flags=regex.I)
# Hi, my friend, hPw are yPP?
# Executing: regex.regex.sub('y', flags=regex.I)
# Hi, mP friend, hPw are PPP?
# Executing: regex.regex.sub('z', flags=regex.I)
# Hi, mP friend, hPw are PPP?
# Executing: regex.regex.sub('b', flags=regex.I)
# Hi, mP friend, hPw are PPP?
# Executing: regex.regex.sub('k', flags=regex.I)
# Hi, mP friend, hPw are PPP?
# Executing: regex.regex.sub('w', flags=regex.I)
# Hi, mP friend, hPP are PPP?
# Executing: regex.regex.sub('k', flags=regex.I)
# Hi, mP friend, hPP are PPP?
# Executing: regex.regex.sub('a', flags=regex.I)
# Hi, mP friend, hPP Pre PPP?
text = """Hi, my friend, how are you?"""
allfus = [
FlexiblePartial(
regex.sub,
False, # this_args_first = False (text will be the last arg when the function is called)
text,
flags=regex.IGNORECASE,
)
for x in range(10)
]
for alsw in allfus:
print(f"Executing: {alsw}")
text = alsw(choice(list(ascii_lowercase)), choice(list(ascii_lowercase)))
print(text)
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, me friend, how are eou?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, mv friend, how are vou?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my friend, hos are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my frienh, how are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my friend, how are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my mriend, how are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my friend, how are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, mv friend, how are vou?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my friend, how are you?
# Executing: regex.regex.sub('Hi, my friend, how are you?', flags=regex.I)
# Hi, my friend, how rre you?
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
flexible_partial-0.12.tar.gz
(5.2 kB
view details)
Built Distribution
File details
Details for the file flexible_partial-0.12.tar.gz
.
File metadata
- Download URL: flexible_partial-0.12.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e9441ce6198cef6906b56eb627ae1e3dd0e3434d5f0952e43dcbed70d85ab46 |
|
MD5 | a977d8227c4f1be48c031c88925d1aaf |
|
BLAKE2b-256 | 318c2f4ed6bf784ceb82cb2e654616db27a08c8aee66eaf1061a4a9e8119e862 |
File details
Details for the file flexible_partial-0.12-py3-none-any.whl
.
File metadata
- Download URL: flexible_partial-0.12-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d41d3638dc6add3086f62f2deb25c11436859bdaceea048efed0971de145e28 |
|
MD5 | 39d15639f528f0f21980fd1466905fa2 |
|
BLAKE2b-256 | 5def0edafefc93745fcf5ec8035cc2271b6ea87987a8b2452c631f5e96362190 |