Classes and the command line

alister alister.nospam.ware at
Mon Oct 27 12:17:17 CET 2014

On Sun, 26 Oct 2014 23:32:08 -0400, Seymore4Head wrote:

> On Mon, 27 Oct 2014 14:06:11 +1100, Ben Finney
> <ben+python at> wrote:
>>Seymore4Head <Seymore4Head at Hotmail.invalid> writes:
>>> I am trying to learn classes.
>>> I am currently using Python 2.7 at the command line.
>>(I think you mean “the interactive Python interpreter”, or just “the
>>Python shell”.)
>>Since you are learning Python, I will strongly recommend you ignore
>>Python 2 unless it becomes unavoidable.
> At the moment, it is unavoidable.  The instructors are teaching Python 2
> so I have to learn Python 2, for now.
>>Instead, learn Python 3 primarily; it is much better because it omits a
>>bunch of legacy behaviour you don't need.
>>> If you try to type commands at the [interactive shell] and make the
>>> slightest mistake you have to start over.
>>Right. There is line-by-line history, and editing enabled with the
>>“readline” plug-in. (This is an advantage of using a programmer-
>>operating system, which MS Windows sadly is not.)
>>> I was trying to copy and paste these instructions into the
>>> [interactive Python shell].
>>> >>> class Foo:
>>> ...     def setx(self, x):
>>> ...         self.x = x ...     def bar(self):
>>> ...         print self.x
>>> There is really no way to do that without pasting line by line is
>>> there and adding deleting spaces?  And if you use spaces and tabs,
>>> they are not the same.
>>Right on all counts.
>>The interactive Python shell is good for very quickly experimenting and
>>demonstrating how Python actually behaves, statement by statement. But
>>as you point out, it is not a good choice for anything more complex. It
>>is a good learning and debugging tool.
>>When you start to write larger units of code, like a class or a
>>function, you can trade immediacy for flexibility: write your code into
>>a text editor, save it to a file ‘’, then run that code at a
>>separate OS command prompt by invoking ‘python’ in the 
>>That way, you can continue to adjust and tweak the code as you learn how
>>your changes affect the code. You do need to keep invoking the actions
>>separately – edit the file, save the file, run the file with Python –
>>but this is what's needed when you want to run a program more than once
>>anyway, so it's a good step to take.
>>Find a good, *general-purpose* programmer's editor. Preferably licensed
>>under free software terms, with a strong community supporting it, and
>>available on all major platforms for when you switch to a decent
>>programmer-friendly operating system.
> I am actually using Notepad some too.
> Thanks

notepad is not a programmer friendly editor

personally I like Geany as it is nice and basic but still offers a lot of 
programmer friendly features such as syntax highlighting, a small 
terminal window which I use to run the interactive terminal for testing 
quick one-liners & pressing f5 will save & run the current file being 

Notepad+ is also often suggested along with many other programmer editors/
Integrated development environments (IDE).

I would advise you keep away from the more complex IDE's for now as you 
do not want to overload your learning requirements.

Who the mad would destroy, first they make Gods.
		-- Bernard Levin

More information about the Python-list mailing list