Re: [Edu-sig] Fw: Python sequences by reference - how to make

From a script pov perspective, the assumption is rely 'assume nothing' so
What I'd like help with is understanding the implications of loading libraries vs. built_ins vs. smarter IDLE prompts. For developers and students worknig at the Python shell, it is tedious and often often frustrating to have to load functionality repeatedly from libraries, ones which we feel should already be available. scripts should all start with a healthy block of import statements. Python does this well. 'Import' behaves transparently when a module is already loaded. Nice feature and thank you Python! But also introduces a little Novice gotcha we ALL learn on Day One Lesson#1: reload() I assume reload() is used 99% of the time at the shell and not in scripts.[?] If so, then that confirms slightly my point there are two use contexts we need to be discussing: A. people working interactively B. script and system defaults My recent Top 5' rants have been trying to focus more on use context A. [people] and how Python meets Novice users. But we are all novices about something, with expectations about Python behaves. So what strategy can be applied when Python boots and in the IDLE shell to handle these expectation better: - loading modules - visible feedback and prompts about them - ?? hope I am making sense ./Jason

What I'd like help with is understanding the implications of loading libraries vs. built_ins vs. smarter IDLE prompts.
For developers and students worknig at the Python shell, it is tedious and often often frustrating to have to load functionality repeatedly from libraries, ones which we feel should already be available.
Would a custom startup file that imports a bunch of stuff into your interactive prompt whenever you start IDLE work? All you need to do is set the shell environment variable PYTHONSTARTUP or IDLESTARTUP to point to a file that you want loaded.
From a script pov perspective, the assumption is rely 'assume nothing' so scripts should all start with a healthy block of import statements. Python does this well. 'Import' behaves transparently when a module is already loaded. Nice feature and thank you Python!
But also introduces a little Novice gotcha we ALL learn on Day One Lesson#1:
reload()
I assume reload() is used 99% of the time at the shell and not in scripts.[?]
I think it's closer to 100%. reload() is a crock -- it's just the best we've got. Except... The new version of IDLE that's now under development in the idlefork.sf.net project will address this better (hopefully) by providing a way to say "run my script in a fresh interpreter".
If so, then that confirms slightly my point there are two use contexts we need to be discussing:
A. people working interactively B. script and system defaults
My recent Top 5' rants have been trying to focus more on use context A. [people] and how Python meets Novice users. But we are all novices about something, with expectations about Python behaves.
So what strategy can be applied when Python boots and in the IDLE shell to handle these expectation better: - loading modules - visible feedback and prompts about them - ??
Can you explain this more? --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (2)
-
Guido van Rossum
-
Jason Cunliffe