- BASICS
- Statements
- Operators
- Functions
- Incremental
- Errors
- FUNCTIONS
- Recursion
-
Objects
- Lambda
- STRINGS
- Immutable
- Raw Strings
- Validation
- Config
- Security
- CLASS
- Definition
- Attributes
- Functional
- Methods
- COLLECTIONS
- Lists
- Dictionaries
- Efficiency
- Tree
- Iterator
- Tuples
- References
- STORAGE
- Files
- Databases
- Pipes
- With Open
- Shelve
- Zip
- Csv
- Json
Objects
""" In Python, all functions are objects
We can easily express constructors difficult to do in other languages
"""
import re
A = [' Alabama', 'Georgia!', 'Georgia', 'georgia', 'FlOrIda?', 'south carolina##']
""" Standard approach:
Apply operations to items
"""
def clear_strings(A):
result = []
for v in A:
v = v.strip()
v = re.sub('[!#?]', '', v)
v = v.title()
result.append(v)
return result
B = clear_strings(A)
print(B)
""" Using a list of opperations:
This way we can easily modify at a very high level
"""
def remove_punctuation(value):
return re.sub('[!#?]', '', value)
def clear_strings_ops(A, ops):
result = []
for v in A:
for func in ops: # func is object
v = func(v)
result.append(v)
return result
B = clear_strings_ops(A, [str.strip, remove_punctuation, str.title])
print(B)
"""
['Alabama', 'Georgia', 'Georgia', 'Georgia', 'Florida', 'South Carolina']
['Alabama', 'Georgia', 'Georgia', 'Georgia', 'Florida', 'South Carolina']
"""
Last update: 203 days ago