473,403 Members | 2,366 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

Best Beginner's Guide To Python?

I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.
Jul 18 '05 #1
12 2369
On 5 Feb 2004 21:48:20 -0800, The Tao of Spike wrote:
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
Welcome. It sounds like you were well advised.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.


<http://www.python.org/topics/learn/>

Most especially, Python's own tutorial:

<http://www.python.org/doc/current/tut/>

--
\ "The sun never sets on the British Empire. But it rises every |
`\ morning. The sky must get awfully crowded." -- Steven Wright |
_o__) |
Ben Finney <http://bignose.squidly.org/>
Jul 18 '05 #2
Not exactly sure what you mean by where to go after that.

Do you mean what language to tackle next? Or what book to read next?

If you are looking for a good book... look no further than the Oreilly
series of books on Python. Also, I found the python book by deitel to be a
pretty good beginning read. As previously mentioned... the python tutorial
on python.org is a great thing to check out as well.

Python is a great language that I have picked up very quickly and have grown
to love it. However it is not like any other language that I have seen in
two major ways.

1) Their are no semi-colons at the end of lines --- nice if you haven't
done any programming, but a little frustrating when you put one on almost
automatically when writing code.

2) No use of curly braces {} to group code. This is by far my biggest
problem with python. I have, on more than one occasion, needed to put some
code in a loop for testing purposes. In java, c, perl, etc... you write
your looping statement and throw a couple of braces around the code you want
it to use. In python, you write your looping statement... but then have to
indent each line that will be looping. After testing, all indents must then
be deleted.

I can deal without the semi-colons, but would love to see implementation of
curly braces for code grouping.
"The Tao of Spike" <du*********@aol.com> wrote in message
news:3b**************************@posting.google.c om...
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.

Jul 18 '05 #3
The Tao of Spike wrote:
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.


The latest (2nd) edition of Oreilly's "Learning Python",
ISBN 0596002815, by Mark Lutz and David Ascher is absolutely
outstanding and much improved over the 1st edition which was also
good. I own the 1st edition and currently have the 2nd edition
checked out from my local library. The latter is so good that I
intend to buy it ASAP.

Regards
Jul 18 '05 #4
On Thu, 05 Feb 2004 21:48:20 -0800, The Tao of Spike wrote:
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.


Next, I would recommend to read the official Python tutorial at the
Python website (http://www.python.org/doc/current/tut/). After that,
I would not recommend to spend too much money on 'tutorial style' books,
but to get a decent Python companion (e.g. Python - Essential Reference
by David M. Beazley) which you can use for the next years.

(There is so much Python example code on the web that it is not really
necessary to buy a book for that IMHO.)

HTH / Nuff
BTW: Will there be a 3rd edition of David Beazley's book in the
near future? Any rumors?

Jul 18 '05 #5
The Tao of Spike wrote:
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.

I started to lern programming in python simply by PROGRAMMING IN PYTHON.
I had some things I wanted to be done by a script and I just started to
write my script. When I had any difficulties I tried to find the
solution in books or somewhere in the internet.
May be you should simply start to write more complex scripts or think
about which special direction you are interested in. Websites?
Networking (Windows or Linux or..?)? Something else?

Dirk
Jul 18 '05 #6
"sean" <se********@cox.net> writes:

[snip]
2) No use of curly braces {} to group code. This is by far my biggest
problem with python. I have, on more than one occasion, needed to put some
code in a loop for testing purposes. In java, c, perl, etc... you write
your looping statement and throw a couple of braces around the code you want
it to use. In python, you write your looping statement... but then have to
indent each line that will be looping. After testing, all indents must then
be deleted.


When you say you must indent every line and then undent every
line....are you using an editor that knows how to do a block
shift-right and shift-left? In emacs, you just grab the code with a
sweep of the mouse and hit "C-c >" or "C-c <". I haven't timed it,
but it would be in the neighborhood of (and maybe faster) than
inserting and deleting curly braces.

[snip]
--
ha************@boeing.com
6-6M31 Knowledge Management
Phone: (425) 342-5601
Jul 18 '05 #7
> When you say you must indent every line and then undent every
line....are you using an editor that knows how to do a block
shift-right and shift-left? In emacs, you just grab the code with a
sweep of the mouse and hit "C-c >" or "C-c <". I haven't timed it,
but it would be in the neighborhood of (and maybe faster) than
inserting and deleting curly braces.


I've discovered one of the non-minor differences between an editor that
doesn't care about the user and one that does, is the ability to indent
and dedent blocks of code. If the parent doesn't have that ability in
their editor, then the developer honestly doesn't care about the users
of the editor.

- Josiah
Jul 18 '05 #8
"sean" <se********@cox.net> writes:
2) No use of curly braces {} to group code. This is by far my
biggest problem with python. I have, on more than one occasion,
needed to put some code in a loop for testing purposes. In java,
c, perl, etc... you write your looping statement and throw a
couple of braces around the code you want it to use. In python,
you write your looping statement... but then have to indent each
line that will be looping. After testing, all indents must then
be deleted.


This is, of course, a feature of Python.

Working with other peoples' C code, I've seen many examples where a
block of code was turned into a loop for "testing", and since it
worked better, the loop was never removed. Of course, the block never
gets indented. Hilarity ensues.

Nick

--
# sigmask || 0.2 || 20030107 || public domain || feed this to a python
print reduce(lambda x,y:x+chr(ord(y)-1),' Ojdl!Wbshjti!=obwAcboefstobudi/psh?')
Jul 18 '05 #9
du*********@aol.com (The Tao of Spike) writes:
I've recentlty been getting into programming. I was wondering what
language to learn first and after asking around I decided on Python.
I'm about half way through "Non-Programmers Tutorial For Python" By
Josh Cogliati (http://www.honors.montana.edu/~jjc/easytut/easytut/)
and I'm wondering where I should go after this. Any help is
appreciated, thanks.


There's more to programming than learning a language:

How to Think Like a Computer Scientist [in Python]

http://www.ibiblio.org/obp/thinkCSpy/

The Python Tutorial is good:

http://www.python.org/doc/current/tut/tut.html

I have many Python books. Most are redundant. The one I keep
coming back to (because it's thorough and concise) is

Python Essential Reference
David M. Beazley
New Riders

but you may like

Python in a Nutshell
Alex Martelli
O'Reilly

better because it's more detailed, covers Tkinter and XML, and is
updated to Python 2.2. I use both.

Those two are more than just reference books, because they include
example code for each topic.

For an extended (1200 page) introduction, _Programming Python_ is
great, as others have recommended.

I would stay away from the Deitel book. The code isn't Pythonic.

Python is unusual in that its learning curve is a series of
plateaus rather than a continuous climb. You can do a lot
once you get to that first plateau, which doesn't take long.
(The introductory tutorial in Beazley's book is eleven pages.)

Read other people's code. Experiment. Code up some project. Repeat.

Python was a good choice.

--
KBK
Jul 18 '05 #10
> When you say you must indent every line and then undent every
line....are you using an editor that knows how to do a block
shift-right and shift-left? In emacs, you just grab the code with a


Agreed. Python is more dependent on a reasonable editor than other
languages, if only for this feature. Depending on the OS you're using,
you may already have such editors. For example, vi (or better vim) is
available on all UNIX-based systems. Most IDEs should support block
indent/undent as well.

Another widely-used editor in MacOS X (if that's what you're using) is
BBEdit which also supports this.

If nothing else, a reasonable editor also supports syntax coloring
which I used to scoff at but now find quite useful.

With something like BBEdit, you simply select the lines in question and
press CMD-] to indent and CMD-[ to undent. It's faster and more
reliable than killing/adding braces at both ends.

I also agree with the 2nd ed Learning Python recommendations. I've
programmed for over 20 years, so it might be a little hard to tell what
a total novice needs, but it is well-written and looks useful for all
levels.
Jul 18 '05 #11
On Thu, 5 Feb 2004 23:25:36 -0800, "sean" <se********@cox.net> wrote:

....
If you are looking for a good book... look no further than the Oreilly
series of books on Python. Also, I found the python book by deitel to be a
pretty good beginning read. As previously mentioned... the python tutorial
on python.org is a great thing to check out as well.

....
Really? I've seen the Dietel C++ and Java books, and did not find
them very good. They weigh a ton and have a lot of information, but
the index wasn't very good for "random access". Do you (or does
anyone else) know if the Python book is better than the C++/Java
books?

If I've already gone through the OReilly books (except the cookbook)
and Dr Mertz' Text Processing, is there much/anything to be gained
from the Dietel book?
Thanks,
--dang
Jul 18 '05 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

48
by: Bulba! | last post by:
I'll soon start development of a specialized small app and need to choose GUI for it. I have narrowed the choice to wxPython/PythonCard and QT/PyQT (buying commercial licenses is not a big...
6
by: Todd_Calhoun | last post by:
I'm trying to learn Python (and programming), and I'm wondering if there are any places where I can find small, simple programs to study. Thanks.
11
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
14
by: japin0 | last post by:
Hi, I am a absolute beginner in ASP ..I do have a bit of exposure to .VBS and other scripting languages. I need your guidance, where do I start? I had been to MS website Quick start guide but it...
7
by: M_M | last post by:
Hi, I am looking for a simple text book to introduce 13 to 18 year olds to python programming. Suggestion? New to python.
14
by: testcpp | last post by:
Hi experts, What's considered the best book to learn javascript? I searched this newsgroup but the postings are over five years old, so is there a good book to learn. I've searched Amazon and...
7
by: Linus Cohen | last post by:
Hi all, I'm a newbie to python and programming in general, so I wanted a simple project to start off. What I'm trying to do here is write a python command-line ping program, much like the Unix and...
2
by: CC | last post by:
Hi: http://web.newsguy.com/crcarl/python/hexl.py This is my first Python program other than tutorial code snippet experimentation. I chose a hex line editor. I may do a hex screen editor...
0
by: Brian Vanderburg II | last post by:
Lance Gamet wrote: Lance Gamet wrote: One way I've just started to use it to create a utility function to return the location of the user data folder, depending on the operating system: import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.