user149135
user149135

Reputation:

General questions regarding Python language

I'm a newbie to programming and I've decided to start with Python. Just curious though, is it enough/recommended to learn Python from online tutorials or from books? I want to go further than simple "Hello World!" programs. I'm not sure if books will actually teach you how to make more advanced programs.

One example is Exif-py. How do you even start programming a program like this? Do you just sit down and start writing the code, or do you have to search for APIs or anything? I went through the code briefly and it all looked alien to me.

I'm not really sure how to express my questions into words, so do check back because I'll edit my question if the right words come to me.

Upvotes: 0

Views: 311

Answers (6)

Chris
Chris

Reputation: 1162

There are a few very good online resources:

Another list of resources: Essential Python Reading List.

Most Python books I've seen so far are "not that good" - but that depends on your background / prior knowledge about Python and programming.

Upvotes: 1

Jibu3
Jibu3

Reputation: 31

If by 'newbie to programming' you mean that you just started it last week or something along the lines, then maybe you might want to give the MIT OpenCourseWare Introduction to Computer Science videos (and homework!) a bit of your time.

The opencourse covers the syntax of the Python language, some helpful hints and general do's and don'ts that apply to any programming paradigm.

Though, if by 'newbie to programming', that you already know the basic concepts you need to start writing basic programs (like adding, subtracting, multiplying, logical operations, functions etc).

If so, Project Euler is particularly good for exercising that cranial muscle in problem solving via programming, though most of the problems on the site require you at also have knowledge of mathematics (and if you don't, at least know how to google).

Just remember, if you get stuck on anything don't get put down! It's all part of learning! If you're really stuck, search SO!

Upvotes: 2

Vladimir Gritsenko
Vladimir Gritsenko

Reputation: 1673

If stuff like recursion, modules, classes, iteration, exceptions, dictionaries, are indeed new to you, I suggest How to Think Like a Computer Scientist in Python (lovingly abbreviated as ThinkCSPy in the community ;-).

It is a bit outdated - for best results, use Python 2.6 or lower, but then again 3.0 is not that different.

EDIT: If ThinkCSPy has little to teach you, try Dive Into Python. It's advanced and pretty "real-world", but step-by-step.

Upvotes: 2

Evan Fosmark
Evan Fosmark

Reputation: 101661

The tutorials are there to teach you the language syntax and the standard library, not really on how to solve a particular programming problem. Think of what you learn there as your toolbox.

I think I understand what you are saying. You want to break above and beyond the simple applications and write your own stuff, right? Well, first you need to figure out what it is you want to make. Then comes the hard part; how are you going to make it? I'd suggest starting by trying to break it down into a number of small simple problems instead of tackling it as one large problem.

If you are trying to find examples of larger projects, I'd suggest looking at the Python Cheeseshop (package index) and download a few packages you've heard of to see how they did it. Also, people often post handy pieces of code on their personal blogs and that shows up on PlanetPython.

Upvotes: 2

Daniel Bruce
Daniel Bruce

Reputation: 11527

Well, I learnt all my Python from online sources (not just tutorials, but reference documentation, blog posts and other texts). It's certainly possible, although some people prefer the "guided" way a book teaches you, particularly people new to programming (at that point I had already been programming for years).

To create a program such as Exif.py, you would first have to know what you must do in broad terms BEFORE starting to program. You would study the EXIF format, then figure out how that is put into the image files, then you would have to formulate that in terms of the language you're using (in this case, Python). This usually requires that you're already familiar with it, otherwise it'll be a fairly slow process.

I'd suggest starting with simpler programs to begin with, or maybe follow a book such as Dive Into Python (free online), seeing as you're new to programming, and need to not only learn the language, but to think like a programmer.

Upvotes: 4

Stefano Borini
Stefano Borini

Reputation: 143785

You study the EXIF format, study the GIF/JPEG format, open the binary file, scan it and get the data out.

Upvotes: 0

Related Questions