1 / 11

An Introduction to Python – Part IV

An Introduction to Python – Part IV. Dr. Nancy Warter-Perez June 23, 2005. Overview. Creating 2-D Lists (already covered) Scopes Modules Doc Strings Debugging Project Development Time. To create a 2-D list L, with C columns and R rows initialized to 0: L = [[]] #empty 2-Dlist

Download Presentation

An Introduction to Python – Part IV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to Python – Part IV Dr. Nancy Warter-Perez June 23, 2005

  2. Overview • Creating 2-D Lists (already covered) • Scopes • Modules • Doc Strings • Debugging • Project Development Time Introduction to Python – Part IV

  3. To create a 2-D list L, with C columns and R rows initialized to 0: L = [[]] #empty 2-Dlist L = [[0 for col in range(C)] for row in range(R)] To assign the value 5 to the element at the 2nd row and 3rd column of L L[2][3] = 5 Creating 2-D Lists Introduction to Python – Part IV

  4. Scopes • Scopes divine the “visibility” of a variable • Variables defined outside of a function are visible to all of the functions within a module (file) • Variables defined within a function are local to that function • To make a variable that is defined within a function global, use the global keyword Ex 2: x = 5 def fnc(): global x x = 2 print x, fnc() print x >>> 2 2 Ex 1: x = 5 def fnc(): x = 2 print x, fnc() print x >>> 2 5 Introduction to Python – Part IV

  5. Modules • Why use? • Code reuse • System namespace partitioning (avoid name clashes) • Implementing shared services or data • How to structure a Program • One top-level file • Main control flow of program • Zero or more supplemental files known as modules • Libraries of tools Introduction to Python – Part IV

  6. Modules - Import • Import – used to gain access to tools in modules Ex: contents of file b.py def spam(text): print text, 'spam' contents of file a.py import b b.spam('gumby') Introduction to Python – Part IV

  7. #comments In-file documentation The dir function Lists of attributes available on objects Docstrings:__doc__ In-file documentation attached to objects Python Documentation Sources Introduction to Python – Part IV

  8. Dir and DocString Example Ex: b.py # Internal comment """Module Docstring comment """ def fn(): """Function Docstring comment """ >>> import b >>> dir(b) ['__builtins__', '__doc__', '__file__', '__name__', 'fn'] >>> print b.__doc__ Module Docstring comment >>> print b.fn.__doc__ Function Doctring comment Introduction to Python – Part IV

  9. Debugging • Two types of bugs • Syntax errors – “easy” to find • Logical errors – harder to find • Can be a problem in your algorithm • Can be a problem in your coding • Debugging a program is like solving a puzzle • Must first understand what your program is supposed to do • Logically trace what is happening in your program • What do you expect to happen versus what happened • Follow the flow of data • Follow the flow of control Introduction to Python – Part IV

  10. Debugging Tools/Methods • Can use print statements to “manually” debug • Can use debugger in PythonWin • In Class Example Introduction to Python – Part IV

  11. Workshop • Separate your LCS functions into a different module • Import the module and call the functions from within your while loop (continually prompting the user if they want to continue) • Trace through your program • Use print statements to view the score and trace back matrices as they are formed • Using the debugger to view the score and trace back matrices Introduction to Python – Part IV

More Related