diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 48ac14d..bc5eb43 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -821,7 +821,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
@@ -839,7 +839,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 bf4eeeb..faefd21 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -649,7 +649,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 305f092..b672a66 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 db9babf..abacd91 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -491,7 +491,7 @@
             yield s / float(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 bd990b4..de9340c 100644
--- a/Doc/library/doctest.rst
+++ b/Doc/library/doctest.rst
@@ -1132,7 +1132,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 10d41f7..8b3b92b 100644
--- a/Doc/library/hmac.rst
+++ b/Doc/library/hmac.rst
@@ -57,5 +57,5 @@
 .. seealso::
 
    Module :mod:`hashlib`
-      The python module providing secure hash functions.
+      The Python module providing secure hash functions.
 
diff --git a/Doc/library/hotshot.rst b/Doc/library/hotshot.rst
index b59d2b9..0ee0767 100644
--- a/Doc/library/hotshot.rst
+++ b/Doc/library/hotshot.rst
@@ -127,7 +127,7 @@
 Example Usage
 -------------
 
-Note that this example runs the python "benchmark" pystones.  It can take some
+Note that this example runs the Python "benchmark" pystones.  It can take some
 time to run, and will produce large output files. ::
 
    >>> import hotshot, hotshot.stats, test.pystone
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index b547519..8a2443a 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -2256,7 +2256,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:`string-formatting`
+standard Python %-style mapping keys. See section :ref:`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 583659e..0782850 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -688,7 +688,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 c8e79b4..cd1597f 100644
--- a/Doc/library/pdb.rst
+++ b/Doc/library/pdb.rst
@@ -382,7 +382,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/smtplib.rst b/Doc/library/smtplib.rst
index 4c1c614..c8f4ed1 100644
--- a/Doc/library/smtplib.rst
+++ b/Doc/library/smtplib.rst
@@ -271,7 +271,7 @@
    .. versionchanged:: 2.6
 
    :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 e50849d..d778369 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -751,7 +751,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 ab93552..a35a8ad 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1397,10 +1397,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            | \(6)  |
+| ``'s'``    | String (converts any Python object using            | \(6)  |
 |            | :func:`str`).                                       |       |
 +------------+-----------------------------------------------------+-------+
 | ``'%'``    | No argument is converted, results in a ``'%'``      |       |
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index 32650a7..07d1669 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 4de6829..460b2f3 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -199,7 +199,7 @@
 
 You can run tests with more detail (higher verbosity) by passing in the -v flag::
 
-   python-m unittest -v test_module
+   python -m unittest -v test_module
 
 For a list of all the command line options::
 
@@ -1600,7 +1600,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 6e8bfd8..f09fe98 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -624,7 +624,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 b11e8eb..9dedd96 100644
--- a/Doc/tutorial/stdlib.rst
+++ b/Doc/tutorial/stdlib.rst
@@ -306,7 +306,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 4ae85b1..514d583 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 d708d04..f5235f1 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -71,7 +71,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.
 
