In Python, is there an option to create a custom string class, that could be created by typing something like:
a = b"some string"
a.someCustomMethod()
Just like python has its u""
and r""
strings?
The short answer is you can't make a new type in python without editing the source code (written in C). However the answer about creating a class in python is probably the easier route to go since editing the source can create compatibility problems with packages (potentially speaking).
How to create a string in Python? Strings can be created by enclosing characters inside a single quote or double-quotes. Even triple quotes can be used in Python but generally used to represent multiline strings and docstrings.
Python __str__() This method returns the string representation of the object. This method is called when print() or str() function is invoked on an object. This method must return the String object.
To append a string to another in Python, use the += operator. Python += operator appends a string to another. It adds two values together and assigns the final value to a variable.
It's straightforward to write your own string class, but you can't get the construction syntax you want. The closest you can get is
a = MyString("some string")
where MyString
is your custom class. I suppose you can alias b = MyString
if you want.
Also, note that b"some string"
is already the bytestring literal syntax. In Python 2, it just makes a regular string. In Python 3, it makes a bytes
object, since regular strings are unicode in Python 3.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With