Content · Programming · Python

Python str.casefold Method: Usage and Examples

str.casefold() produces a form intended for caseless comparisons. It is more aggressive than lower() for some Unicode characters, such as German sharp S. Case folding does not remove accents or perform full identity.

2 views Published Oct 17, 2026 Updated Oct 18, 2026 Admin

This guide explains str.casefold Method: Usage and Examples through a focused example and practical reasoning. No prior knowledge of this specific operation is required.

Understanding the Concept


str.casefold() produces a form intended for caseless comparisons. It is more aggressive than lower() for some Unicode characters, such as German sharp S. Case folding does not remove accents or perform full identity validation.

When You Would Use This


Match two equivalent labels entered with different capitalizations.

Step-by-Step Example


stored_label = "Straße"
entered_label = "STRASSE"
print(stored_label.lower() == entered_label.lower())
print(stored_label.casefold() == entered_label.casefold())

How the Example Works


The first comparison is False; the second is True, because case folding expands ß to ss. Store or display the original spelling, and create separate normalized keys when comparison is required.

Example Output


False
True

Try It Yourself


Compare "PYTHON" with "python" using both methods, then test one accented word.

Common Beginner Mistakes


  • Assuming lowercasing and case folding are always identical.
  • Using case folding to strip accents.
  • Replacing original names with normalized keys and losing their intended presentation.

Key Takeaways


  • str.casefold() produces a form intended for caseless comparisons.
  • The first comparison is False; the second is True, because case folding expands ß to ss.
  • Avoid this mistake: Assuming lowercasing and case folding are always identical.
Share this resourceSend this page to someone who may find it useful.