diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 152cb13..dfed0c9 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -815,7 +815,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
@@ -833,7 +833,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 f01b0a0..622b787 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -432,7 +432,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 88fcf0e..1fc2389 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 eb1d3ac..2d701c8 100644
--- a/Doc/faq/windows.rst
+++ b/Doc/faq/windows.rst
@@ -204,7 +204,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 7770b89..ebb35b1 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -464,7 +464,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 6ff9b8b..aa83314 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -2142,7 +2142,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 b48f842..016bf7f 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 6c7a04d..2976f5e 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -68,7 +68,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 070220e..fe3e14e 100644
--- a/Doc/library/smtplib.rst
+++ b/Doc/library/smtplib.rst
@@ -258,7 +258,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 292ea2d..fc447c5 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -697,7 +697,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 32c0563..6aacfbe 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1310,10 +1310,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/license.rst b/Doc/license.rst
index b402c50..6022107 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -579,7 +579,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.
 
