Skip to main content

match_func

Pattern matching as a function.

from match_func import match

# Use ranges!
age = 20
match(age,
      {range(0, 3):   'Toddler',
       range(3, 14):  'Child',
       range(14, 18): 'Teen',
       range(18, 65): 'Adult'},
      default =       'Elder')
>> 'Adult'

# Use tuples!
name = 'Clara'
match(name,
      {('Laura', 'John', 'Luke'): 'First class',
       ('Clara', 'Nathan'):       'Business',
       ('Jason', 'Mary'):         'Economy'},
      default =                   'Non customer')
>> 'Business'

# Use conditions!
value = 5
match(value,
      {value < 10:        'Small',
       10 <= value <= 20: 'Medium',
       value > 20:        'Large'})
>> 'Small'

# Use types!
something = 'Hello'
match(something,
      {int:     'Its an integer',
       str:     'Its a string'},
      default = 'Its something else')
>> 'Its a string'

# Mix and match!
earnings = 10_000
match(earnings,
      {str:              'Invalid type: str',
       range(0, 5_000):  'Too low',
       5_000:            'Exactly 5k',
       earnings > 5_000: 'Over the top!'},
      default =         f'Invalid value: {earnings}')
>> 'Over the top!'

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

match_func-1.0.0.tar.gz (9.1 kB view details)

Uploaded Source

File details

Details for the file match_func-1.0.0.tar.gz.

File metadata

  • Download URL: match_func-1.0.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for match_func-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0ef85e25ce8ed9bc7fe182df9a9702529eb28a0104f528623fcb5fc96b91fd07
MD5 fb41150462b7d9a1e73bbf835879aabd
BLAKE2b-256 10b5266b608c4769b63440954e7bcf6004ca215dbc5fffae4e19fc7c3b4e4382

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page