Classes are like modules, but with methods
In , you saw that a module is a kind of object, one that can contain functions and other variables. There is another kind of object that is similar to a module: a class. You’ve been using classes all along, probably without realizing it: a class is how Python represents a type.
You may have called built-in function help on int, float, bool, or str. Let’s do that now with str (note that the first line indicates it’s a class):
| | >>> help(str) |
| | Help on class str in module builtins: |
| | |
| | class str(object) |
| | | str(object='') -> str |
| | | str(bytes_or_buffer[, encoding[, errors]]) -> str |
| | | |
| | | Create a new string object from the given object. If encoding or |
| | | errors is specified, then the object must expose a data buffer |
| | | that will be decoded using the given encoding and error handler. |
| | | Otherwise, returns the result of object.__str__() (if defined) |
| | | or repr(object). |
| | | encoding defaults to 'utf-8'. |
| | | errors defaults to 'strict'. |
| | | |
| | | Methods defined here: |
| | | |
| | | __add__(self, value, /) |
| | | Return self+value. |
| | | |
| | | __contains__(self, key, /) |
| | | Return bool(key in self). |
| | |
| | [Lots of other names with leading and trailing underscores not shown here.] |
| | |
| | | capitalize(self, /) |
| | | Return a capitalized version of the string. |
| | | |
| | | More specifically, make the first character have upper case and the |
| | | rest lower case. |
| | | |
| | | casefold(self, /) |
| | | Return a version of the string suitable for caseless comparisons. |
| | | |
| | | center(self, width, fillchar=' ', /) |
| | | Return a centered string of length width. |
| | | |
| | | Padding is done using the specified fill character (default is a |
| | | space). |
| | | |
| | | count(self, sub[, start[, end]], /) |
| | | Return the number of non-overlapping occurrences of substring sub |
| | | in string S[start:end]. |
| | |
| | [There are many more of these as well.] |
Near the top of this documentation is the description of the str function:
| | | str(bytes_or_buffer[, encoding[, errors]]) -> str |
| | | |
| | | Create a new string object from the given object. |
It explains how to use str as a function: you can call it to create a string. For example, str(17) creates the string ’17’.
Functions that create new objects are called constructors. Function str is a constructor for strings. Functions int, float, and bool are constructors for the namesake data types. You will learn more about constructors in Chapter 14, .