By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,870 Members | 1,224 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,870 IT Pros & Developers. It's quick & easy.

Getting started with python

P: n/a
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.

Apr 15 '07 #1
Share this Question
Share on Google+
25 Replies


P: n/a
I'd like to second this request or at least find out if there are any
type of Python mentorship programs I could join.
Apr 15 '07 #2

P: n/a
On Apr 15, 1:46 am, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
Hi Eric, Somas1.
Try:
http://www.google.co.uk/search?sourc...e+Search&meta=

Some of the sites have beginners problems meant for
another language, but in a lot of cases that doesn't
matter.

You might need to be a fair way through the Python
tutorial though before you attempt thhem so you
know the basics of Python first.

On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/
It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)

- Paddy.

Apr 15 '07 #3

P: n/a
Eric wrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
Here is a protocol I have used in the past:

1. Realize there is a program you really wish you had.
2. Find out that, upon relentless googling, no
such program exists that meets your needs exactly.
3. If 2 fails and a program exists, go back to 1.
4. Proceed to write this program no matter what it takes--you
may even face some "sitdowns" with your friends, family,
and/or employers.
5. (Very important)
A. Refer to this list periodically for help but making
sure to properly phrase you questions.
B. Try not to rewrite any libraries by first ascertaining
whether a library doesn't already exist for the
sub-task you are programming.
6. Enjoy the new program you have written and the new
knowledge you have gained.

James
Apr 15 '07 #4

P: n/a
"Paddy" <pa*******@googlemail.comha scritto nel messaggio
news:11**********************@y5g2000hsa.googlegro ups.com...
On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/
It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)
Something less idiotic? I took longer to type a program to do that than to
figure out how to do that.
Apr 15 '07 #5

P: n/a
On Apr 14, 7:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
If you want to play around with simple graphics and writing simple
ascii files to disk then dex tracker may be a good project for you. I
am currently playing around with generating random sounds to disk and
random rythoms. (I also have a harder graphics problem that when I
solve will break the music program wide open). https://sourceforge.net/projects/dex-tracker
You would go to the (project homepage) website for dependencies
http://www.stormpages.com/edexter/csound.html (not all are required
for all sub-programs but you do want wxwindows). It would probily be
cool to expand the idea into non-random series of numbers and I have
just started to code this particular tool. I can upload it to my
google groups if you are intrested

Apr 15 '07 #6

P: n/a
On Apr 14, 7:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
I have a little sub-project where I generate random numbers to a music
file (a simpe ascii format that works in a grid)
http://www.stormpages.com/edexter/csound.html or if you see some other
part of it you would like to work on or expand..
https://sourceforge.net/projects/dex-tracker I haven't added the sub-
project yet but I can upload it to some google space if you are
intrested.. (uses wxwindows and python 2.5)

Apr 15 '07 #7

P: n/a
On Apr 15, 3:35 am, James Stroud <jstr...@mbi.ucla.eduwrote:
Eric wrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.

Here is a protocol I have used in the past:

1. Realize there is a program you really wish you had.
2. Find out that, upon relentless googling, no
such program exists that meets your needs exactly.
3. If 2 fails and a program exist s, go back to 1.
4. Proceed to write this program no matter what it takes--you
may even face some "sitdowns" with your friends, family,
and/or employers.
5. (Very important)
A. Refer to this list periodically for help but making
sure to properly phrase you questions.
B. Try not to rewrite any libraries by first ascertaining
whether a library doesn't already exist for the
sub-task you are programming.
6. Enjoy the new program you have written and the new
knowledge you have gained.

James
Start out with something simple and go deeper. For example, here is
one progression:

1. A simple program that counts words (wc) - read from a file,
tokenize, count
2. A variation of wc that does word frequency count (counts how many
times each word occurs) - wfc - In addition to 1, this allows you to
use a data structure to store words and search for them to update the
count. You may also sort the output.
3. A variation of wfc that reads from a file a set of noise words and
stores them in memory. As you are tokenizing, drop the noise words
from counting (or count noise words)

You could do similar things with database programming (start with
something simple and gradually increase the level of complexity or any
other area.

You can also access Python cookbook, use the examples as a starting
point and build variations. This not only allows you to read some well
written code but also understand various techniques.

Another suggestion is to get hold of a book "Software Tools" and try
to code all the examples in Python.

I found the best way to learn a language is to read some code, write
some code and keep improving it. Many improvements will suggest
themselves as you keep coding.

Hope this helps.

Dorai
www.thodla.com

Apr 15 '07 #8

P: n/a
En Sun, 15 Apr 2007 10:46:54 -0300, Army1987 <pl********@for.itescribió:
"Paddy" <pa*******@googlemail.comha scritto nel messaggio
news:11**********************@y5g2000hsa.googlegro ups.com...
>On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/
It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)

Something less idiotic? I took longer to type a program to do that than
to
figure out how to do that.
We've used it as part of a test a few weeks ago. You'd be surprised on how
many guys couldn't write anything remotely sensible.

--
Gabriel Genellina
Apr 15 '07 #9

P: n/a
Gabriel Genellina wrote:
En Sun, 15 Apr 2007 10:46:54 -0300, Army1987 <pl********@for.itescribió:
>"Paddy" <pa*******@googlemail.comha scritto nel messaggio
news:11**********************@y5g2000hsa.googlegr oups.com...
>>On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/

It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)

Something less idiotic? I took longer to type a program to do that
than to
figure out how to do that.

We've used it as part of a test a few weeks ago. You'd be surprised on
how many guys couldn't write anything remotely sensible.

--Gabriel Genellina
pyfor i in xrange(1,101):
.... if not i % 15:
.... print 'fizzbuzz'
.... continue
.... if not i % 5:
.... print 'buzz'
.... continue
.... if not i % 3:
.... print 'fizz'
.... else:
.... print i
....

I typed this without so much as hitting delete. Didn't time it but I'm
guessing less than 2 minutes. How much am I worth a year? (Hopefully
capitalization is not important for this exercise.)

James
Apr 15 '07 #10

P: n/a
James Stroud wrote:
Gabriel Genellina wrote:
>En Sun, 15 Apr 2007 10:46:54 -0300, Army1987 <pl********@for.itescribió:
>>"Paddy" <pa*******@googlemail.comha scritto nel messaggio
news:11**********************@y5g2000hsa.googleg roups.com...

On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/

It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)
Something less idiotic? I took longer to type a program to do that
than to
figure out how to do that.
We've used it as part of a test a few weeks ago. You'd be surprised on
how many guys couldn't write anything remotely sensible.

--Gabriel Genellina

pyfor i in xrange(1,101):
... if not i % 15:
... print 'fizzbuzz'
... continue
... if not i % 5:
... print 'buzz'
... continue
... if not i % 3:
... print 'fizz'
... else:
... print i
...

I typed this without so much as hitting delete. Didn't time it but I'm
guessing less than 2 minutes. How much am I worth a year? (Hopefully
capitalization is not important for this exercise.)
You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

For better readability I'd have used

if i % 5 == 0

rather than

if not i % 5

but that's mostly a stylistic matter.

regards
Steve
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Recent Ramblings http://holdenweb.blogspot.com
Apr 16 '07 #11

P: n/a
James Stroud wrote:
Gabriel Genellina wrote:
>En Sun, 15 Apr 2007 10:46:54 -0300, Army1987 <pl********@for.itescribió:
>>"Paddy" <pa*******@googlemail.comha scritto nel messaggio
news:11**********************@y5g2000hsa.googleg roups.com...

On a different tack, from:
http://tickletux.wordpress.com/2007/...o-grok-coding/

It seems you need to learn how to write a Fizz-Buzz
program to get a job now-a-days :-)
Something less idiotic? I took longer to type a program to do that
than to
figure out how to do that.
We've used it as part of a test a few weeks ago. You'd be surprised on
how many guys couldn't write anything remotely sensible.

--Gabriel Genellina

pyfor i in xrange(1,101):
... if not i % 15:
... print 'fizzbuzz'
... continue
... if not i % 5:
... print 'buzz'
... continue
... if not i % 3:
... print 'fizz'
... else:
... print i
...

I typed this without so much as hitting delete. Didn't time it but I'm
guessing less than 2 minutes. How much am I worth a year? (Hopefully
capitalization is not important for this exercise.)
You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

For better readability I'd have used

if i % 5 == 0

rather than

if not i % 5

but that's mostly a stylistic matter.

regards
Steve
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Recent Ramblings http://holdenweb.blogspot.com

Apr 16 '07 #12

P: n/a
On Apr 15, 9:53 am, "Eric_Dex...@msn.com" <Eric_Dex...@msn.comwrote:
On Apr 14, 7:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.

I have a little sub-project where I generate random numbers to a music
file (a simpe ascii format that works in a grid)http://www.stormpages.com/edexter/csound.htmlor if you see some other
part of it you would like to work on or expand..https://sourceforge.net/projects/dex-trackerI haven't added the sub-
project yet but I can upload it to some google space if you are
intrested.. (uses wxwindows and python 2.5)
I just installed Python 2.5 a few days ago. I like to play with
csound.
However, I am a window user knowing Java and C#. I do not have any
experience with unix system and c. I appreciate if you would send me
some instructions and examples to get me started so that In the
future, I can use midi input and get ourput from csound with a final
objective to generate some music not representable by midi.

Chin

Apr 16 '07 #13

P: n/a
Steve Holden <st***@holdenweb.comwrites:
You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

For better readability I'd have used
if i % 5 == 0
I think I'd be more concerned about getting rid of the i%15 test.
What if a few more words get added?

def fizzbuzz(n):
words = ((3, 'Fizz'), (5, 'Buzz'), (7, 'Jazz'), (11, 'Pizzazz'))
r = ''.join(b for a,b in words if n%a == 0)
return r or str(n)

for i in xrange(1,101):
print fizzbuzz(i)
Apr 16 '07 #14

P: n/a
Paul Rubin wrote:
Steve Holden <st***@holdenweb.comwrites:
>You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

For better readability I'd have used
if i % 5 == 0

I think I'd be more concerned about getting rid of the i%15 test.
What if a few more words get added?

def fizzbuzz(n):
words = ((3, 'Fizz'), (5, 'Buzz'), (7, 'Jazz'), (11, 'Pizzazz'))
r = ''.join(b for a,b in words if n%a == 0)
return r or str(n)

for i in xrange(1,101):
print fizzbuzz(i)
I think that this is somewhat of an over-interpretation of the
specification.

1. This doesn't act according to the specification if you add, for
example, (2, 'Zonk'). Now 30 gives 'ZonkFizzBuzz' and not 'FizzBuzz'
according to the specification.

2. What if additional words don't necessarily follow the pattern you
infer? Nothing in the specification disallows adding (30, 'Whammo').

So, I would keep my original explicit testing:

def fizzbuzz(n):
words = ((30, 'Whammo'), (15, 'FizzBuzz'),
(5, 'Fizz'), (3, 'Buzz'), (2, 'Zonk'))
for k,v in words:
if not k % n:
return v
return n

for i in xrange(1,101):
print fizzbuzz(i)


James
Apr 16 '07 #15

P: n/a
James Stroud <js*****@mbi.ucla.eduwrites:
1. This doesn't act according to the specification if you add, for
example, (2, 'Zonk'). Now 30 gives 'ZonkFizzBuzz' and not 'FizzBuzz'
according to the specification.
Correct, the original specification only had 3 and 5. I gave a longer
example to illustrate how the specification might be modified. Obviously
it is not the same specification any more. The i%15 approach gets messy
once there are more than two numbers to check.
So, I would keep my original explicit testing:
def fizzbuzz(n):
words = ((30, 'Whammo'), (15, 'FizzBuzz'),
(5, 'Fizz'), (3, 'Buzz'), (2, 'Zonk'))
for k,v in words:
if not k % n:
return v
return n
I don't think that's in the spirit of the original, which
would be to print 'BuzzZonk' for n=6.
Apr 16 '07 #16

P: n/a
Steve Holden wrote:
You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.
Depends on what you are after.

pys = """
.... for i in xrange(1,101):
.... if not i % 15:
.... continue
.... if not i % 5:
.... continue
.... if not i % 3:
.... continue
.... else:
.... pass
.... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.49 usec/pass
pys = """
.... for i in xrange(1,101):
.... if not i % 15:
.... pass
.... elif not i % 5:
.... pass
.... elif not i % 3:
.... pass
.... else:
.... pass
.... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass

James
Apr 16 '07 #17

P: n/a
On Apr 15, 8:05 pm, chengzhiannahu...@gmail.com wrote:
On Apr 15, 9:53 am, "Eric_Dex...@msn.com" <Eric_Dex...@msn.comwrote:


On Apr 14, 7:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
I have a little sub-project where I generate random numbers to a music
file (a simpe ascii format that works in a grid)http://www.stormpages.com/edexter/csound.htmlorif you see some other
part of it you would like to work on or expand..https://sourceforge.net/projects/dex-trackerIhaven't added the sub-
project yet but I can upload it to some google space if you are
intrested.. (uses wxwindows and python 2.5)

I just installed Python 2.5 a few days ago. I like to play with
csound.
However, I am a window user knowing Java and C#. I do not have any
experience with unix system and c. I appreciate if you would send me
some instructions and examples to get me started so that In the
future, I can use midi input and get ourput from csound with a final
objective to generate some music not representable by midi.

Chin- Hide quoted text -

- Show quoted text -
Csound is based on c but as a csound user you don't realy need to
know... just take the instruments that are already available for
free.. Dex Tracker is just an interface to make it easier and provide
other tools.. more info on csound including manuals exc can be found
at http://www.csounds.com
Apr 16 '07 #18

P: n/a
The Python Papers (http://pythonpapers.org) is another resource for
Python developers, especially those interested in keeping tabs on the
various projects and articles out there in the community.

Cheers,
-T (Editor-In-Chief, The Python Papers)

Apr 16 '07 #19

P: n/a
On Apr 15, 9:49 pm, James Stroud <jstr...@mbi.ucla.eduwrote:
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass
What does this accomplish:

1000000 * t.timeit(number=100000)/100000

that the following doesn't accomplish:

10 * t.timeit(number=100000)

Apr 16 '07 #20

P: n/a
James Stroud wrote:
Steve Holden wrote:
>You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

Depends on what you are after.

pys = """
... for i in xrange(1,101):
... if not i % 15:
... continue
... if not i % 5:
... continue
... if not i % 3:
... continue
... else:
... pass
... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.49 usec/pass
pys = """
... for i in xrange(1,101):
... if not i % 15:
... pass
... elif not i % 5:
... pass
... elif not i % 3:
... pass
... else:
... pass
... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass
To be strictly comparable you should have pass statements before the
continue statements as well. Ignoring that, clearly it's well worth
saving that extra 390 nanoseconds each time round the loop.

Repeat after me "premature optimization is the root of all evil".

http://en.wikipedia.org/wiki/Optimiz...mputer_science)

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
Recent Ramblings http://holdenweb.blogspot.com

Apr 16 '07 #21

P: n/a
7stud wrote:
On Apr 15, 9:49 pm, James Stroud <jstr...@mbi.ucla.eduwrote:
>pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass

What does this accomplish:

1000000 * t.timeit(number=100000)/100000

that the following doesn't accomplish:

10 * t.timeit(number=100000)
I have no idea--copy and pasted from timeit documentation.

James
Apr 17 '07 #22

P: n/a
Steve Holden wrote:
James Stroud wrote:
>Steve Holden wrote:
>>You'd be worth more if you'd used elif and omitted the continue
statements, but for a first solution it's acceptable.

Depends on what you are after.

pys = """
... for i in xrange(1,101):
... if not i % 15:
... continue
... if not i % 5:
... continue
... if not i % 3:
... continue
... else:
... pass
... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.49 usec/pass
pys = """
... for i in xrange(1,101):
... if not i % 15:
... pass
... elif not i % 5:
... pass
... elif not i % 3:
... pass
... else:
... pass
... """
pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass

To be strictly comparable you should have pass statements before the
continue statements as well. Ignoring that, clearly it's well worth
saving that extra 390 nanoseconds each time round the loop.

Repeat after me "premature optimization is the root of all evil".

http://en.wikipedia.org/wiki/Optimiz...mputer_science)

regards
Steve
The point is that both work equally as well unless (1) you are biased by
a particular style or (2) you split little bitty hairs to even finer hairs.
Apr 17 '07 #23

P: n/a
James Stroud <jstr...@mbi.ucla.eduwrote:
>pyt = timeit.Timer(stmt=s)
pyprint "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
40.88 usec/pass
7stud <bb**********@yahoo.comwrote:
>What does this accomplish:

1000000 * t.timeit(number=100000)/100000

that the following doesn't accomplish:

10 * t.timeit(number=100000)
The first example converts from seconds per 100000 passes to microseconds
per pass in two steps, while the second example does it one. The first
example is more easily understood and maintainable than the second
example.

Ross Ridge

--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] rr****@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
Apr 17 '07 #24

P: n/a
On Apr 14, 8:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.
Eric,

You will certainly appreciate how concise and easy Python is.
I am also relatively new to Python (started about a year ago), and I'd
rather not go back to any other language! Why would I want to torment
my not-so-quick typing fingers?? :) I'm a self-learner. I learn by
reading, by example, and by doing.

Here is a list of suggestions. Start with simple things, grow
confident, and move on to more interesting stuff as you progress:

At the Python command line, type "import this" to see the basic ideas
behind Python development. It begins with "Beautiful is better than
ugly." - a nice thought.

1. First of all, read the publication "How to Think Like a Computer
Scientist: Learning with Python" by Allen B. Downey et al. I have
found this little gem to be very, very useful when I first got
interested in Python and thought to myself, "how do I go about
learning this, where do I start??". Highly recommended. I read it
from start to finish in a couple of days and started making useful
scripts right after that. The author actually implements a simple
card game toward the end of the book, using all the knowledge from the
previous chapters. The text is available at:
http://www.ibiblio.org/obp/thinkCSpy/

2. Play with Python from the command line first, using PyShell,
PyCrust, or any of its other siblings that come with the wxPython
package (a GUI toolkit - see #8 below). You will find the code
completion feature and the syntax helper quite useful.

3. Tinker around with the builtin modules. There's a lot of built-in
functionality in Python right out of the box. Try the "os" and "sys"
modules to experiment with filesystem handling. Try reading and
writing text files, as this is quite a common task with a variety of
applications. Try the "struct" module for binary file processing. Try
the "urllib" and "urllib2" modules for loading and processing Web
pages... I could go on, but you get the idea.

4. If you have a text processing background, dip your hand in regular
expressions with the "re" module. Maybe you have a need for extracting
some statistical data from a financial report, and this might be one
way to do it.

5. If you have a mathematical background, download and install the
NumPy or SciPy package and do some wild matrix math!

6. I have recently tinkered with the Pymedia package, perhaps you want
to try it later on. It is a nice tool for dealing with audio - for
recording, encoding, decoding, spectrum analysis, etc. In just a few
hours, I came up with a nice voice-activated MP3 sound recorder
application.

7. If you feel brave and want to work with Windows COM client/server
stuff (assuming Windows is your platform), get the PythonWin package,
also known as "win32com" and try to read/write Excel, Word files,
etc., or whatever

8. Last but certainly not least, once you feel comfortable with basic
Python, try GUI development. Several gui toolkits are out there.
wxPython is a good one to start with, though you may find some others
to your liking.

9. If you have previous programming experience, try taking an
application you've developed before and port it to Python. See how
much your code base shrinks compared to its C++ or Java counterpart :)
But really, do it just to understand Python on a deeper level. Instead
of thinking in the old way, try to think in the Pythonic way. A nice
example of this is iteration. Where an iteration counter variable is
required in most other languages, Python inherently supports iteration
in sequence objects like lists, strings, and dictionary keys; so the
syntax is simpler in most cases.

-Basilisk96

Apr 18 '07 #25

P: n/a
On Apr 17, 11:00 pm, Basilisk96 <basilis...@gmail.comwrote:
On Apr 14, 8:46 pm, "Eric" <erichapk...@gmail.comwrote:
Hello, after reading some of the book Programming Python it seems that
python is something I would like to delve deeper into. The only thing
is, I have no idea what I should try and write. So I was hoping that
someone here could help point me to a group/project that would be a
good starting place for a person with limited python knowledge, but
that is willing to learn whatever is necessary. I'm hoping that with a
goal I can start to learn python instead of just playing around with
it. Thanks.

Eric,

You will certainly appreciate how concise and easy Python is.
I am also relatively new to Python (started about a year ago), and I'd
rather not go back to any other language! Why would I want to torment
my not-so-quick typing fingers?? :) I'm a self-learner. I learn by
reading, by example, and by doing.

Here is a list of suggestions. Start with simple things, grow
confident, and move on to more interesting stuff as you progress:

At the Python command line, type "import this" to see the basic ideas
behind Python development. It begins with "Beautiful is better than
ugly." - a nice thought.

1. First of all, read the publication "How to Think Like a Computer
Scientist: Learning with Python" by Allen B. Downey et al. I have
found this little gem to be very, very useful when I first got
interested in Python and thought to myself, "how do I go about
learning this, where do I start??". Highly recommended. I read it
from start to finish in a couple of days and started making useful
scripts right after that. The author actually implements a simple
card game toward the end of the book, using all the knowledge from the
previous chapters. The text is available at:http://www.ibiblio.org/obp/thinkCSpy/

2. Play with Python from the command line first, using PyShell,
PyCrust, or any of its other siblings that come with the wxPython
package (a GUI toolkit - see #8 below). You will find the code
completion feature and the syntax helper quite useful.

3. Tinker around with the builtin modules. There's a lot of built-in
functionality in Python right out of the box. Try the "os" and "sys"
modules to experiment with filesystem handling. Try reading and
writing text files, as this is quite a common task with a variety of
applications. Try the "struct" module for binary file processing. Try
the "urllib" and "urllib2" modules for loading and processing Web
pages... I could go on, but you get the idea.

4. If you have a text processing background, dip your hand in regular
expressions with the "re" module. Maybe you have a need for extracting
some statistical data from a financial report, and this might be one
way to do it.

5. If you have a mathematical background, download and install the
NumPy or SciPy package and do some wild matrix math!

6. I have recently tinkered with the Pymedia package, perhaps you want
to try it later on. It is a nice tool for dealing with audio - for
recording, encoding, decoding, spectrum analysis, etc. In just a few
hours, I came up with a nice voice-activated MP3 sound recorder
application.

7. If you feel brave and want to work with Windows COM client/server
stuff (assuming Windows is your platform), get the PythonWin package,
also known as "win32com" and try to read/write Excel, Word files,
etc., or whatever

8. Last but certainly not least, once you feel comfortable with basic
Python, try GUI development. Several gui toolkits are out there.
wxPython is a good one to start with, though you may find some others
to your liking.

9. If you have previous programming experience, try taking an
application you've developed before and port it to Python. See how
much your code base shrinks compared to its C++ or Java counterpart :)
But really, do it just to understand Python on a deeper level. Instead
of thinking in the old way, try to think in the Pythonic way. A nice
example of this is iteration. Where an iteration counter variable is
required in most other languages, Python inherently supports iteration
in sequence objects like lists, strings, and dictionary keys; so the
syntax is simpler in most cases.

-Basilisk96
I choose python with a goal in mind the language was not
important.. Python is fantastic for input and output.. Once in a
while I get stuck and to be honest if I had a little more cash I would
be putting a small project on rent a coder that said tracker software
where the notes are defined in collums are great for practicing input
output, I can always do that myself but if there is a interest (or if
a intresting idea presents itself because small projects can be
linked) then I am game... good luck to all of you and happy learning

Apr 18 '07 #26

This discussion thread is closed

Replies have been disabled for this discussion.