Classes and the command line
alister.nospam.ware at ntlworld.com
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 benfinney.id.au> 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
>>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 foo.py, then run that code at a
>>separate OS command prompt by invoking python foo.py 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.
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