diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 2e2aa64..650aec2 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -808,7 +808,7 @@
 .. index:: single: setcheckinterval() (in module sys)
 
 Every check interval, when the global interpreter lock is released and
-reacquired, python will also call any such provided functions.  This can be used
+reacquired, Python will also call any such provided functions.  This can be used
 for example by asynchronous IO handlers.  The notification can be scheduled from
 a worker thread and the actual call than made at the earliest convenience by the
 main thread where it has possession of the global interpreter lock and can
@@ -826,7 +826,7 @@
    exception.  The notification function won't be interrupted to perform another
    asynchronous notification recursively, but it can still be interrupted to
    switch threads if the global interpreter lock is released, for example, if it
-   calls back into python code.
+   calls back into Python code.
 
    This function returns 0 on success in which case the notification has been
    scheduled.  Otherwise, for example if the notification buffer is full, it
diff --git a/Doc/distutils/setupscript.rst b/Doc/distutils/setupscript.rst
index e7c6300..5ec94c7 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -646,7 +646,7 @@
 1.0.1a2
     the second alpha release of the first patch version of 1.0
 
-:option:`classifiers` are specified in a python list::
+:option:`classifiers` are specified in a Python list::
 
     setup(...,
           classifiers=[
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 7f3fda7..9091193 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -434,7 +434,7 @@
 --------------------------------------------------------------------
 
 To dynamically load g++ extension modules, you must recompile Python, relink it
-using g++ (change LINKCC in the python Modules Makefile), and link your
+using g++ (change LINKCC in the Python Modules Makefile), and link your
 extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``).
 
 
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index b5c469e..a7d7052 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -61,7 +61,7 @@
 
 If you would like the script to be independent of where the Python interpreter
 lives, you can use the "env" program.  Almost all Unix variants support the
-following, assuming the python interpreter is in a directory on the user's
+following, assuming the Python interpreter is in a directory on the user's
 $PATH::
 
   #!/usr/bin/env python
diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst
index a5ede41..2a19c98 100644
--- a/Doc/faq/windows.rst
+++ b/Doc/faq/windows.rst
@@ -208,7 +208,7 @@
    for developing code by experiment.
 
 
-How do I make python scripts executable?
+How do I make Python scripts executable?
 ----------------------------------------
 
 On Windows 2000, the standard Python installer already associates the .py
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 2ee2949..377c144 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -469,7 +469,7 @@
             yield s / n
 
 The :meth:`rotate` method provides a way to implement :class:`deque` slicing and
-deletion.  For example, a pure python implementation of ``del d[n]`` relies on
+deletion.  For example, a pure Python implementation of ``del d[n]`` relies on
 the :meth:`rotate` method to position elements to be popped::
 
    def delete_nth(d, n):
diff --git a/Doc/library/doctest.rst b/Doc/library/doctest.rst
index 4952e05..a9e1b5b 100644
--- a/Doc/library/doctest.rst
+++ b/Doc/library/doctest.rst
@@ -1059,7 +1059,7 @@
 The advanced API revolves around two container classes, which are used to store
 the interactive examples extracted from doctest cases:
 
-* :class:`Example`: A single python :term:`statement`, paired with its expected
+* :class:`Example`: A single Python :term:`statement`, paired with its expected
   output.
 
 * :class:`DocTest`: A collection of :class:`Example`\ s, typically extracted
diff --git a/Doc/library/hmac.rst b/Doc/library/hmac.rst
index faaedf4..6ffd00a 100644
--- a/Doc/library/hmac.rst
+++ b/Doc/library/hmac.rst
@@ -54,5 +54,5 @@
 .. seealso::
 
    Module :mod:`hashlib`
-      The python module providing secure hash functions.
+      The Python module providing secure hash functions.
 
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 5e77e13..b05282b 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -2196,7 +2196,7 @@
 of the :class:`LogRecord` attributes - such as the default value mentioned above
 making use of the fact that the user's message and arguments are pre-formatted
 into a :class:`LogRecord`'s *message* attribute.  This format string contains
-standard python %-style mapping keys. See section :ref:`old-string-formatting`
+standard Python %-style mapping keys. See section :ref:`old-string-formatting`
 for more information on string formatting.
 
 Currently, the useful mapping keys in a :class:`LogRecord` are:
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 14f685f..a2cdb02 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -686,7 +686,7 @@
 
 .. function:: set_executable()
 
-   Sets the path of the python interpreter to use when starting a child process.
+   Sets the path of the Python interpreter to use when starting a child process.
    (By default :data:`sys.executable` is used).  Embedders will probably need to
    do some thing like ::
 
diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst
index 9a0c00e..bfeaa04 100644
--- a/Doc/library/pdb.rst
+++ b/Doc/library/pdb.rst
@@ -369,7 +369,7 @@
       (Pdb)
 
 run [*args* ...]
-   Restart the debugged python program. If an argument is supplied, it is split
+   Restart the debugged Python program. If an argument is supplied, it is split
    with "shlex" and the result is used as the new sys.argv. History, breakpoints,
    actions and debugger options are preserved. "restart" is an alias for "run".
 
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 2ce2c85..54211f4 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -67,7 +67,7 @@
 
 .. function:: getrandbits(k)
 
-   Returns a python integer with *k* random bits. This method is supplied with
+   Returns a Python integer with *k* random bits. This method is supplied with
    the MersenneTwister generator and some other generators may also provide it
    as an optional part of the API. When available, :meth:`getrandbits` enables
    :meth:`randrange` to handle arbitrarily large ranges.
diff --git a/Doc/library/smtplib.rst b/Doc/library/smtplib.rst
index 79396f9..daba9a1 100644
--- a/Doc/library/smtplib.rst
+++ b/Doc/library/smtplib.rst
@@ -257,7 +257,7 @@
      The server does not support the STARTTLS extension.
 
    :exc:`RuntimeError`
-     SSL/TLS support is not available to your python interpreter.
+     SSL/TLS support is not available to your Python interpreter.
 
 
 .. method:: SMTP.sendmail(from_addr, to_addrs, msg, mail_options=[], rcpt_options=[])
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index d9045ed..79a4964 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -696,7 +696,7 @@
 in general it is recommended to call :meth:`settimeout` before calling
 :meth:`connect` or pass a timeout parameter to :meth:`create_connection`.
 The system network stack may return a connection timeout error
-of its own regardless of any python socket timeout setting.
+of its own regardless of any Python socket timeout setting.
 
 
 .. method:: socket.setsockopt(level, optname, value)
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 89c7b67..eaa413b 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1311,10 +1311,10 @@
 | ``'c'``    | Single character (accepts integer or single         |       |
 |            | character string).                                  |       |
 +------------+-----------------------------------------------------+-------+
-| ``'r'``    | String (converts any python object using            | \(5)  |
+| ``'r'``    | String (converts any Python object using            | \(5)  |
 |            | :func:`repr`).                                      |       |
 +------------+-----------------------------------------------------+-------+
-| ``'s'``    | String (converts any python object using            |       |
+| ``'s'``    | String (converts any Python object using            |       |
 |            | :func:`str`).                                       |       |
 +------------+-----------------------------------------------------+-------+
 | ``'%'``    | No argument is converted, results in a ``'%'``      |       |
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index d947186..232305c 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -36,7 +36,7 @@
 
 The turtle module provides turtle graphics primitives, in both object-oriented
 and procedure-oriented ways.  Because it uses :mod:`Tkinter` for the underlying
-graphics, it needs a version of python installed with Tk support.
+graphics, it needs a version of Python installed with Tk support.
 
 The object-oriented interface uses essentially two+two classes:
 
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index e1d4779..e134c9e 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -1591,7 +1591,7 @@
 
 .. note::
 
-   The default pattern is 'test*.py'. This matches all python files
+   The default pattern is 'test*.py'. This matches all Python files
    that start with 'test' but *won't* match any test directories.
 
    A pattern like 'test*' will match test packages as well as
diff --git a/Doc/license.rst b/Doc/license.rst
index 76aa503..ec82b8d 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -578,7 +578,7 @@
    - Use binascii module to do the actual line-by-line conversion
      between ascii and binary. This results in a 1000-fold speedup. The C
      version is still 5 times faster, though.
-   - Arguments more compliant with python standard
+   - Arguments more compliant with Python standard
 
 
 XML Remote Procedure Calls
diff --git a/Doc/tutorial/stdlib.rst b/Doc/tutorial/stdlib.rst
index 98702a5..d9a15fa 100644
--- a/Doc/tutorial/stdlib.rst
+++ b/Doc/tutorial/stdlib.rst
@@ -308,7 +308,7 @@
 * The :mod:`xml.dom` and :mod:`xml.sax` packages provide robust support for
   parsing this popular data interchange format. Likewise, the :mod:`csv` module
   supports direct reads and writes in a common database format. Together, these
-  modules and packages greatly simplify data interchange between python
+  modules and packages greatly simplify data interchange between Python
   applications and other tools.
 
 * Internationalization is supported by a number of modules including
diff --git a/Doc/tutorial/stdlib2.rst b/Doc/tutorial/stdlib2.rst
index 2d52591..fe7f027 100644
--- a/Doc/tutorial/stdlib2.rst
+++ b/Doc/tutorial/stdlib2.rst
@@ -289,7 +289,7 @@
 that stores only homogeneous data and stores it more compactly.  The following
 example shows an array of numbers stored as two byte unsigned binary numbers
 (typecode ``"H"``) rather than the usual 16 bytes per entry for regular lists of
-python int objects::
+Python int objects::
 
    >>> from array import array
    >>> a = array('H', [4000, 10, 700, 22222])
diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst
index 3d562a8..61e707b 100644
--- a/Doc/using/unix.rst
+++ b/Doc/using/unix.rst
@@ -131,14 +131,14 @@
 some Unices may not have the :program:`env` command, so you may need to hardcode
 ``/usr/bin/python`` as the interpreter path.
 
-To use shell commands in your python scripts, look at the :mod:`subprocess` module.
+To use shell commands in your Python scripts, look at the :mod:`subprocess` module.
 
 
 Editors
 =======
 
 Vim and Emacs are excellent editors which support Python very well.  For more
-information on how to code in python in these editors, look at:
+information on how to code in Python in these editors, look at:
 
 * http://www.vim.org/scripts/script.php?script_id=790
 * http://sourceforge.net/projects/python-mode
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst
index 7961a60..7c61703 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -69,7 +69,7 @@
 
 `Enthought Python Distribution <http://www.enthought.com/products/epd.php>`_
     Popular modules (such as PyWin32) with their respective documentation, tool
-    suite for building extensible python applications
+    suite for building extensible Python applications
 
 Notice that these packages are likely to install *older* versions of Python.
 
