Classes and the command line
alister
alister.nospam.ware at ntlworld.com
Mon Oct 27 07:17:17 EDT 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
>>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-
friendly
>>operating system, which MS Windows sadly is not.)
>>
>>> I was trying to copy and paste these instructions into the
>>> [interactive Python shell].
>>>
>>> http://en.wikibooks.org/wiki/Python_Programming/Classes
>>> >>> 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
terminal.
>>
>>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
edited.
www.geany.org
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