Python Forum
DEC pack, unpack and disk-images
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DEC pack, unpack and disk-images
#21
Apologies, what frees the "table" variable memory, the exit of the calling code?
Reply
#22
(Jun-18-2024, 06:52 AM)Curbie Wrote: Apologies, what frees the "table" variable memory, the exit of the calling code?
The 256 bytes are freed when the program exits because 'table' is a global variable. You can free them earlier if you don't need to pack() or unpack() anymore. You can free them by deleting the 'table' variable or assigning None to this variable.

There is little benefit in doing this because 256 bytes is a small amount of memory.
« We can solve any problem by introducing an extra level of indirection »
Reply
#23
Quote:because 'table' is a global variable
stupid question, are both 'table' and 'res' global variables, if not what makes a global variable?
Reply
#24
(Jun-18-2024, 11:37 PM)Curbie Wrote: stupid question, are both 'table' and 'res' global variables, if not what makes a global variable?
Yes they are global variables because they are defined at module level and not in the body of a function. In the following code
spam = 25

def eggs():
    ham = 36
spam is a global variable and ham is a local variable of function eggs(). When function eggs() is called, ham is destroyed at function exit. Spam is never destroyed, unless we write at module level
del spam
We could also do
spam = "...some memory intensive data..."

spam = None  # does not destroy the name 'spam' but destroys the value at which it points.
« We can solve any problem by introducing an extra level of indirection »
Reply
#25
Thanks,

If I understand correctly, local variables can ONLY be accessed by the function in which contains them, global variables are outside functions that all functions can access within that module. (and possibly importing modules, question to follow)

I think I understand that module functions can be called by either importing the whole module or the particular function from that module, but are global variables initialized if I import and call a particular function in a module, seems like they must be but, still trying to head-wrap this stuff?
Can Global variables from an imported module be accessed from the importing module?

I haven't found any py libraries tutorial, and I think I'll need to do a spread-sheet on and read every py library to document their content functions unless there is a better suggestion?
Reply
#26
(Jun-19-2024, 03:31 PM)Curbie Wrote: are global variables initialized if I import and call a particular function in a module, seems like they must be but, still trying to head-wrap this stuff?
Yes. The first time a pure Python module is imported, the code that it contains is executed, hence the global variables are assigned. Also note that functions and classes defined at module level are global variables too.
>>> def spam():
...     pass
... 
>>> spam
<function spam at 0x7ff2fb34db40>
(Jun-19-2024, 03:31 PM)Curbie Wrote: Can Global variables from an imported module be accessed from the importing module?
Yes.
(Jun-19-2024, 03:31 PM)Curbie Wrote: I haven't found any py libraries tutorial
Your first source of documentation is the official documentation, especially the standard library.
Searching the standard library can be a little tedious, you could use my 'pyman' script in a terminal. For example if you type pyman pathlib it will open the Python documentation with the search term pathlib.

A comprehensive introduction to the standard library's modules is the pyMOTW-3 site by Doug Hellmann. He gives example code for many standard modules.
« We can solve any problem by introducing an extra level of indirection »
Reply
#27
thanks Gribouillis,

In light of your "pyman" script and library references I my need to go back to my notes to see if i can create a local library text file of notes on py scripting and py libraries, although, I need work more work with debuggers before I do anything, tutorials show how py scripts work, not how to fix py scripts that don't work.

I need to ponder this some. more

curbie
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Too much values to unpack actualpy 3 653 Feb-11-2024, 05:38 PM
Last Post: deanhystad
  Hard disk structure like a file selection dialog malonn 2 934 Aug-09-2023, 09:14 PM
Last Post: malonn
  unpack dict menator01 1 1,326 Apr-09-2022, 03:10 PM
Last Post: menator01
  ValueError: not enough values to unpack (expected 4, got 1) vlearner 2 6,582 Jan-28-2022, 06:36 PM
Last Post: deanhystad
  JS Buffer.from VS struct.pack DreamingInsanity 3 2,660 Apr-05-2021, 06:27 PM
Last Post: DreamingInsanity
  [SOLVED] [geopy] "ValueError: too many values to unpack (expected 2)" Winfried 2 3,046 Mar-30-2021, 07:01 PM
Last Post: Winfried
  Cannot unpack non-iterable NoneType object, i would like to ask for help on this. Jadiac 3 9,162 Oct-18-2020, 02:11 PM
Last Post: Jadiac
  subprogram issues: cannot unpack non-iterable function object error djwilson0495 13 6,375 Aug-20-2020, 05:53 PM
Last Post: deanhystad
  How to Calculate CPU, Disk, Memory and Network utilization rate skvivekanand 1 2,154 Jun-16-2020, 08:53 PM
Last Post: jefsummers
  struct.unpack failed Roro 2 3,514 Jun-13-2020, 05:28 PM
Last Post: DreamingInsanity

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020