# Im still learning python and I need a little help



## malcolm2608 (Aug 7, 2011)

I started learning python earlier this month as my first programing language  and I need something that will help me memorize all things I learned. Do you guys no of anything like a test or some sort of program I could start making to help me master this or at least become better. So far I only made a few small program to preform system commands Or to record information


----------



## wherwel (Aug 10, 2011)

practice is the key.


----------



## streetfighter 2 (Aug 10, 2011)

IMO it's a waste of time to memorize most things in programming.  In python you can just open up a python terminal and run "help(<function/class>)" which will give you info on the arguments and return type.  There are a bunch of things that are annoying to remember so do a google search for "Python Cheat Sheet" and I'm sure tons of stuff will come up.

A couple more tips:
Always save your code and reference it when writing new code.
Since Python is your first language you should concentrate on learning good programming structure and style.


----------



## digibucc (Aug 10, 2011)

agreed with both, streetfighter's tips are key.

also:
start documenting now!  it's a lot better to have it the first time you need it, than to learn by mistake.
also, documenting your code helps you to understand what each tiny bit does, and how they work together. that makes learning it easier.

and again in addition to streetfighter's first point, don't try to memorize things so much as make sure you do them right as much as possible.  if that means reading a manual entry do it.  eventually you will begin to learn all of the things you use often. that's your base.  from there it is a hundred times easier to add "vocabulary".  but it's more important to understand convention and structure first.

google is your friend as well.  I still keep a browser open with 20 tabs every time i code something, as reference is key.  don't try to limit yourself to your brain.  the internet is a tool!


----------



## malcolm2608 (Aug 11, 2011)

How you guys are helpful, I have been cramming my brain with things That I dont even remember and hour later . thank you so much.


----------



## Kreij (Aug 11, 2011)

I agree and disagree with some of the comments.

Learning _how_ to do something is more important than rote memorization as it will allow you to adapt to unfornseen problems in your code. As was said, you can always look things up in either reference books or online if you don't quite remember the exact use or syntax of a particular API's construction or one of its methods.

There are, however, some things that you will want to memorize (and you will through repetition of use), such as all of the operators and how they function when used on different data types.

Take the time to learn how to use a debugger effectively. That will end up being your most useful tool when your work gets more and more complex. Using output statements to show variable values during execution only goes so far and becomes viturally useless for debugging things like an exception being thrown because there is a class initialization type mismatch.

Never comment your code. If it is complex and took a lot of effort for you to write it should be hard for someone else to understand.


----------



## digibucc (Aug 11, 2011)

Kreij said:


> Never comment your code. If it is complex and took a lot of effort for you to write it should be hard for someone else to understand.



  you could always remove comments and minify the production version   i'm sure you could get even more creative...


and 100% agree on the operators.  they are used throughout a language in many many situations, they are the first thing you want to focus on learning well.


----------

