A command line tool accepts YES, yes, or padded variants as the same answer.
What You Need to Understand
Normalization is the process of putting text into a predictable form before comparing it. A common basic policy strips surrounding whitespace and case-folds, but Unicode normalization can also matter.
When to Use It
A command line tool accepts YES, yes, or padded variants as the same answer.
Step-by-Step Python Example
response = " YeS "
normalized_response = response.strip().casefold()
print(normalized_response == "yes")
How the Example Works
Whitespace removal runs first; casefold() makes the comparison independent of ordinary letter case.
Example Output
True
True
A Second Example
Compare this smaller variation with the main example, then experiment with your own values.
import unicodedata
left = unicodedata.normalize("NFC", "café").casefold()
right = unicodedata.normalize("NFC", "café").casefold()
print(left == right)
Important Behavior and Edge Cases
Do not remove significant internal spaces or punctuation without a documented rule. Matching text loosely is different from securely authenticating a user.
Try It Yourself
Create a normalization function and compare two differently formatted category names.
Common Beginner Mistakes
- Do not remove significant internal spaces or punctuation without a documented rule. Matching text loosely is different from securely authenticating a user.
- Applying a string method before defining whether text is intended for display, comparison, parsing, or input validation.
Key Takeaways
- Normalization is the process of putting text into a predictable form before comparing it.
- Whitespace removal runs first;
casefold()makes the comparison independent of ordinary letter case. - Do not remove significant internal spaces or punctuation without a documented rule.