Skip to main content

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


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)

Uploaded Source

Built Distribution

flexible_partial-0.12-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

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

Hashes for flexible_partial-0.12.tar.gz
Algorithm Hash digest
SHA256 7e9441ce6198cef6906b56eb627ae1e3dd0e3434d5f0952e43dcbed70d85ab46
MD5 a977d8227c4f1be48c031c88925d1aaf
BLAKE2b-256 318c2f4ed6bf784ceb82cb2e654616db27a08c8aee66eaf1061a4a9e8119e862

See more details on using hashes here.

File details

Details for the file flexible_partial-0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for flexible_partial-0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 3d41d3638dc6add3086f62f2deb25c11436859bdaceea048efed0971de145e28
MD5 39d15639f528f0f21980fd1466905fa2
BLAKE2b-256 5def0edafefc93745fcf5ec8035cc2271b6ea87987a8b2452c631f5e96362190

See more details on using hashes here.

Supported by

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