I want to put two string methods together so that they can be used as a shorter method. Specifically I am trying to make a method that will both make a string lowercase and remove punctuation. Regularly you can just do:
import string
s.translate(str.maketrans('', '', string.punctuation)).lower()
but I want it to look like:
s.removeall()
I've tried defining a function but I'm not sure how I would go about actually putting it into one sense it doesn't connect to anything and python wouldn't read it as a method anyways.
I tried this:
import string
def removeall():
translate(str.maketrans('', '', string.punctuation)).lower()
s.removeall()
You wouldn't be able to make a method of
str
easily, but there's nothing stopping you from writing a standalone utility function:You would use it as
s = removeall(s)
. Keep in mind that strings are immutable objects. There is no such thing as an in-place operation on a string. Your original expressions.translate(str.maketrans('', '', string.punctuation)).lower()
creates a new string, and therefore has no net effect if you don't save the result. The same applies for the function from.