mirror of https://github.com/python/cpython.git
Added stuff about indentation
This commit is contained in:
parent
36a373407f
commit
c50158e70c
69
Misc/FAQ
69
Misc/FAQ
|
@ -6,8 +6,8 @@ Reply-to: guido@cwi.nl (Guido van Rossum)
|
||||||
Approved: news-answers-request@MIT.Edu
|
Approved: news-answers-request@MIT.Edu
|
||||||
|
|
||||||
Archive-name: python-faq/part1
|
Archive-name: python-faq/part1
|
||||||
Version: 1.7
|
Version: 1.8
|
||||||
Last-modified: 4 May 1994
|
Last-modified: 15 May 1994
|
||||||
|
|
||||||
This article contains answers to Frequently Asked Questions about
|
This article contains answers to Frequently Asked Questions about
|
||||||
Python (an object-oriented interpreted programming language -- see
|
Python (an object-oriented interpreted programming language -- see
|
||||||
|
@ -62,11 +62,12 @@ Here's an overview of the questions per chapter:
|
||||||
1.2. Q. Why is it called Python?
|
1.2. Q. Why is it called Python?
|
||||||
1.3. Q. How do I obtain a copy of the Python source?
|
1.3. Q. How do I obtain a copy of the Python source?
|
||||||
1.4. Q. How do I get documentation on Python?
|
1.4. Q. How do I get documentation on Python?
|
||||||
1.5. Q. Is there a newsgroup or mailing list devoted to Python?
|
1.5. Q. Are there other ftp sites that mirror the Python distribution?
|
||||||
1.6. Q. Is there a book on Python, or will there be one out soon?
|
1.6. Q. Is there a newsgroup or mailing list devoted to Python?
|
||||||
1.7. Q. Are there any published articles about Python that I can quote?
|
1.7. Q. Is there a book on Python, or will there be one out soon?
|
||||||
1.8. Q. How does the Python version numbering scheme work?
|
1.8. Q. Are there any published articles about Python that I can quote?
|
||||||
1.9. Q. Are there other ftp sites that carry Python related material?
|
1.9. Q. How does the Python version numbering scheme work?
|
||||||
|
1.10. Q. Are there other ftp sites that carry Python related material?
|
||||||
|
|
||||||
2. Python in the real world
|
2. Python in the real world
|
||||||
2.1. Q. How many people are using Python?
|
2.1. Q. How many people are using Python?
|
||||||
|
@ -120,6 +121,7 @@ Here's an overview of the questions per chapter:
|
||||||
in Python? (Persistent == automatically saved to and restored from
|
in Python? (Persistent == automatically saved to and restored from
|
||||||
disk.)
|
disk.)
|
||||||
6.3. Q. Why isn't there a switch or case statement in Python?
|
6.3. Q. Why isn't there a switch or case statement in Python?
|
||||||
|
6.4. Q. Why does Python use indentation for grouping of statements?
|
||||||
|
|
||||||
7. Using Python on non-UNIX platforms
|
7. Using Python on non-UNIX platforms
|
||||||
7.1. Q. Is there a Mac version of Python?
|
7.1. Q. Is there a Mac version of Python?
|
||||||
|
@ -194,20 +196,23 @@ standard or built-in types, functions and modules, all of which are
|
||||||
described here. PostScript for a high-level description of Python is
|
described here. PostScript for a high-level description of Python is
|
||||||
in the file nluug-paper.ps.
|
in the file nluug-paper.ps.
|
||||||
|
|
||||||
The following sites keep mirrors of the Python distribution:
|
1.5. Q. Are there other ftp sites that mirror the Python distribution?
|
||||||
|
|
||||||
|
A. The following sites keep mirrors of the Python distribution:
|
||||||
|
|
||||||
Site IP address Directory
|
Site IP address Directory
|
||||||
|
|
||||||
gatekeeper.dec.com 16.1.0.2 /pub/plan/python/cwi
|
gatekeeper.dec.com 16.1.0.2 /pub/plan/python/cwi
|
||||||
ftp.uu.net 192.48.96.9 /languages/python
|
ftp.uu.net 192.48.96.9 /languages/python
|
||||||
ftp.wustl.edu 128.252.135.4 /graphics/graphics/sgi-stuff/python
|
ftp.wustl.edu 128.252.135.4 /graphics/graphics/sgi-stuff/python
|
||||||
ftp.funet.fi 128.214.6.100 /pub/languages/python (old?)
|
ftp.funet.fi 128.214.6.100 /pub/languages/python
|
||||||
ftp.fu-berlin.de 130.133.4.50 /pub/unix/languages/python (*python* only)
|
ftp.fu-berlin.de 130.133.4.50 /pub/unix/languages/python (*python* only)
|
||||||
|
ftp.sunet.se 130.238.127.3 /pub/lang/python
|
||||||
|
|
||||||
Or try archie on e.g. python1.0 to locate the nearest copy of that
|
Or try archie on e.g. python1.0 to locate the nearest copy of that
|
||||||
version...
|
version...
|
||||||
|
|
||||||
1.5. Q. Is there a newsgroup or mailing list devoted to Python?
|
1.6. Q. Is there a newsgroup or mailing list devoted to Python?
|
||||||
|
|
||||||
A. There is a newsgroup, comp.lang.python, and a mailing list. The
|
A. There is a newsgroup, comp.lang.python, and a mailing list. The
|
||||||
newsgroup and mailing list are gatewayed into each other -- if you can
|
newsgroup and mailing list are gatewayed into each other -- if you can
|
||||||
|
@ -215,7 +220,7 @@ read news it is not necessary to subscribe to the mailing list. Send
|
||||||
e-mail to python-list-request@cwi.nl to (un)subscribe to the mailing
|
e-mail to python-list-request@cwi.nl to (un)subscribe to the mailing
|
||||||
list.
|
list.
|
||||||
|
|
||||||
1.6. Q. Is there a book on Python, or will there be one out soon?
|
1.7. Q. Is there a book on Python, or will there be one out soon?
|
||||||
|
|
||||||
A. Unfortunately, not yet. I would like to write one but my
|
A. Unfortunately, not yet. I would like to write one but my
|
||||||
obligations at CWI include too much other work to make much progress
|
obligations at CWI include too much other work to make much progress
|
||||||
|
@ -224,7 +229,7 @@ helping the production of a book or reference manual, but so far there
|
||||||
are no firm plans. If you volunteer help, by all means drop me a
|
are no firm plans. If you volunteer help, by all means drop me a
|
||||||
note!
|
note!
|
||||||
|
|
||||||
1.7. Q. Are there any published articles about Python that I can quote?
|
1.8. Q. Are there any published articles about Python that I can quote?
|
||||||
|
|
||||||
A. So far the only refereed and published article that describes
|
A. So far the only refereed and published article that describes
|
||||||
Python in some detail is:
|
Python in some detail is:
|
||||||
|
@ -247,7 +252,7 @@ presentation can be found in the ftp directory mentioned a few
|
||||||
questions earlier, with filenames nluug-paper.ps and nluug-slides.ps,
|
questions earlier, with filenames nluug-paper.ps and nluug-slides.ps,
|
||||||
respectively.
|
respectively.
|
||||||
|
|
||||||
1.8. Q. How does the Python version numbering scheme work?
|
1.9. Q. How does the Python version numbering scheme work?
|
||||||
|
|
||||||
A. Python versions are numbered A.B.C. A is the major version number
|
A. Python versions are numbered A.B.C. A is the major version number
|
||||||
-- it is only incremented for major changes in functionality or source
|
-- it is only incremented for major changes in functionality or source
|
||||||
|
@ -257,7 +262,7 @@ incremented for each new release. Note that in the past, patches have
|
||||||
added significant changes; in fact the changeover from 0.9.9 to 1.0.0
|
added significant changes; in fact the changeover from 0.9.9 to 1.0.0
|
||||||
was the first time that either A or B changed!
|
was the first time that either A or B changed!
|
||||||
|
|
||||||
1.9. Q. Are there other ftp sites that carry Python related material?
|
1.10. Q. Are there other ftp sites that carry Python related material?
|
||||||
|
|
||||||
A. An interesting ftp site for Python users is ftp.markv.com
|
A. An interesting ftp site for Python users is ftp.markv.com
|
||||||
(192.122.251.1); the directory pub/python contains a growing
|
(192.122.251.1); the directory pub/python contains a growing
|
||||||
|
@ -606,6 +611,42 @@ if... elif... elif... else. There have been some proposals for switch
|
||||||
statement syntax, but there is no concensus (yet) on whether and how
|
statement syntax, but there is no concensus (yet) on whether and how
|
||||||
to do range tests.
|
to do range tests.
|
||||||
|
|
||||||
|
6.4. Q. Why does Python use indentation for grouping of statements?
|
||||||
|
|
||||||
|
A. Basically I believe that using indentation for grouping is
|
||||||
|
extremely elegant and contributes a lot to the clarity of the average
|
||||||
|
Python program. Most people learn to love this feature after a while.
|
||||||
|
Some arguments for it:
|
||||||
|
|
||||||
|
- Since there are no begin/end brackets there cannot be a disagreement
|
||||||
|
between grouping perceived by the parser and the human reader. I
|
||||||
|
remember long ago seeing a C fragment like this:
|
||||||
|
|
||||||
|
if (x <= y)
|
||||||
|
x++;
|
||||||
|
y--;
|
||||||
|
z++;
|
||||||
|
|
||||||
|
and staring a long time at it wondering why y was being decremented
|
||||||
|
even for x > y... (And I wasn't a C newbie then either.)
|
||||||
|
|
||||||
|
- Since there are no begin/end brackets there can be no conflicting
|
||||||
|
coding styles. In C there are loads of different ways to place the
|
||||||
|
braces (including the choice whether to place braces around single
|
||||||
|
statements in certain cases, for consistency). If you're used to
|
||||||
|
reading (and writing) code that uses one style, you will feel at least
|
||||||
|
slightly uneasy when reading (or being required to write) another
|
||||||
|
style.
|
||||||
|
|
||||||
|
- Many coding styles place begin/end brackets on a line by themself.
|
||||||
|
This makes programs considerably longer and wastes valuable screen
|
||||||
|
space, making it harder to get a good overview over a program.
|
||||||
|
Ideally, a function should fit on one basic tty screen (say, 20
|
||||||
|
lines). 20 lines of Python are worth a LOT more than 20 lines of C.
|
||||||
|
This is not solely due to the lack of begin/end brackets (the lack of
|
||||||
|
declarations also helps, and the powerful operations of course), but
|
||||||
|
it certainly helps!
|
||||||
|
|
||||||
|
|
||||||
7. Using Python on non-UNIX platforms
|
7. Using Python on non-UNIX platforms
|
||||||
=====================================
|
=====================================
|
||||||
|
|
Loading…
Reference in New Issue