views:

146

answers:

5

Well, I have read several user guides and watched dozens and dozens of video tutorials on how to program with Python, and feel pretty confident about writing simple applications for it. My main point in my question is, where would I be able to learn more advanced programming knowledge about Python?

+3  A: 

How simple of applications are you making? Have you gone through the exercises in Google's Python Class? I highly recommend going through those. If you really know what you are doing, you should breeze through them. If not, then you'll be learning some valuable skills and becoming a little more experienced in Python.

After that, it depends on what your end goals are with Python. If you don't have any goals then you should work on setting some goals and making some small applications to develop your skills in the areas that go well with those goals.

Also, a good way to learn more about Python is to try to answer the questions posted on here about Python. Even if you don't find the best answer, reading other people's answers will help you as well as the process of trying to find the answer.

Justin Peel
+2  A: 

You could try something like Python Cookbook or Python Challenge.

But your question is a little too vague. Why did you learn Python? What kind of problems are you looking at solving? Based on the answer to that, I can direct you to various modules like os, sys, Tkinter, etc

inspectorG4dget
+2  A: 

You have given yourself an answer:

and feel pretty confident about writing simple applications for it

go ahead and write more complex applications!

The issue here is that you do not feel challenged, and you assume that you are done with your basic learning. Just find what to do! Simplify a process (say, file management), retrieve data from Internet (say, the last 25 twitter posts about Python), consolidate your mail clients into a single command line application, etc.

The MOST productive thing you could do (assuming you really don't have problems of your own), is to find an open source Python project (say, Matplotlib) and become a contributor. You will quickly realize that Python is beautiful, but it is a beast nevertheless.

If you still feel unchallenged, contact me and I will send you a ton of stuff to code which, believe me, is not easy.

Good luck!

Arrieta
A: 

If you like puzzles, you might check out Project Euler. It has a variety of interesting puzzles (some easy, some much harder) that take some logic and programming to solve. (Often you have to find a clever way to solve them, since brute-force methods will take forever.)

If you're at all interested in web development you might look into Django. It's a very nice web framework that lets you use Python; it's mature and quite powerful.

I also second Arrieta's suggestion of finding an open-source Python project and looking into getting involved. You can find a list of such projects on GitHub, freshmeat, and SourceForge, among others.

peppergrower
A: 

my favorite way in learning python is ( learning through projects ).
put yourself a goal , like a software for example ( 6 years ago when i started to learn python i picked a messenger . so i had to read more about sockets, network programming , and interfaces libraries ) . start with it , look for examples and resources to learn more . then do it.

the key is NOT TO GIVE UP and keep trying and searching until you make it .

. this can be fastest and the most efficient way in learning any programming language .
good luck ;)

Moayyad Yaghi