CARVIEW |
- Log in to:
- Community
- DigitalOcean
- Sign up for:
- Community
- DigitalOcean

Python String module contains some constants, utility function, and classes for string manipulation.
Python String Module
It’s a built-in module and we have to import it before using any of its constants and classes.
String Module Constants
Let’s look at the constants defined in the string module.
import string
# string module constants
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.whitespace) # ' \t\n\r\x0b\x0c'
print(string.punctuation)
Output:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
!"#$%&'()*+,-./:;?@[\]^_`{|}~
string capwords() function
Python string module contains a single utility function - capwords(s, sep=None). This function split the specified string into words using str.split(). Then it capitalizes each word using str.capitalize()
function. Finally, it joins the capitalized words using str.join(). If the optional argument sep is not provided or None, then leading and trailing whitespaces are removed and words are separated with single whitespace. If it’s provided then the separator is used to split and join the words.
s = ' Welcome TO \n\n JournalDev '
print(string.capwords(s))
Output: Welcome To Journaldev
Python String Module Classes
Python string module contains two classes - Formatter and Template.
Formatter
It behaves exactly same as str.format() function. This class become useful if you want to subclass it and define your own format string syntax. Let’s look at a simple example of using Formatter class.
from string import Formatter
formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))
# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='JournalDev'))
Output:
Welcome to JournalDev
Welcome to JournalDev
Template
This class is used to create a string template for simpler string substitutions as described in PEP 292. It’s useful in implementing internationalization (i18n) in an application where we don’t need complex formatting rules.
from string import Template
t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
Output: Pankaj is the Founder of JournalDev.
You can checkout complete python script and more Python examples from our GitHub Repository.
Reference: Official Documentation
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
About the author
Java and Python Developer for 20+ years, Open Source Enthusiast, Founder of https://www.askpython.com/, https://www.linuxfordevices.com/, and JournalDev.com (acquired by DigitalOcean). Passionate about writing technical articles and sharing knowledge with others. Love Java, Python, Unix and related technologies. Follow my X @PankajWebDev
Still looking for an answer?
- Table of contents
- Python String Module
- Python String Module Classes
Deploy on DigitalOcean
Click below to sign up for DigitalOcean's virtual machines, Databases, and AIML products.
Become a contributor for community
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
DigitalOcean Documentation
Full documentation for every DigitalOcean product.
Resources for startups and SMBs
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Get our newsletter
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
The developer cloud
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Get started for free
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.