diff --git a/Python/_warnings.c b/Python/_warnings.c
index a9f9641..aa80395 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -391,7 +391,7 @@
 
     /* If the source parameter is set, try to get the Python implementation.
        The Python implementation is able to log the traceback where the source
-       was allocated, whereas the C implementation doesnt. */
+       was allocated, whereas the C implementation doesn't. */
     show_fn = get_warnings_attr("_showwarnmsg", source != NULL);
     if (show_fn == NULL) {
         if (PyErr_Occurred())
diff --git a/Python/ast.c b/Python/ast.c
index a6cc0f7..79cef70 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -4287,7 +4287,7 @@
 
    `parent` is the enclosing node.
    `n` is the node which locations are going to be fixed relative to parent.
-   `expr_str` is the child node's string representation, incuding braces.
+   `expr_str` is the child node's string representation, including braces.
 */
 static void
 fstring_fix_node_location(const node *parent, node *n, char *expr_str)
diff --git a/Python/pytime.c b/Python/pytime.c
index 5a98d1d..0e94131 100644
--- a/Python/pytime.c
+++ b/Python/pytime.c
@@ -817,7 +817,7 @@
         }
 
         /* Check that timebase.numer and timebase.denom can be casted to
-           _PyTime_t. In pratice, timebase uses uint32_t, so casting cannot
+           _PyTime_t. In practice, timebase uses uint32_t, so casting cannot
            overflow. At the end, only make sure that the type is uint32_t
            (_PyTime_t is 64-bit long). */
         assert(sizeof(timebase.numer) < sizeof(_PyTime_t));
