lecture 3 functions modules
play

Lecture 3: Functions & Modules (Sections 3.1-3.3) CS 1110 - PowerPoint PPT Presentation

http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 3: Functions & Modules (Sections 3.1-3.3) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White] CS1110 Spring


  1. http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 3: Functions & Modules (Sections 3.1-3.3) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

  2. CS1110 Spring 2018 Announcements Check course page for announcements! http://www.cs.cornell.edu/courses/cs1110/2018sp ENGRG 1010. AEW workshops still space - can enroll through Student Center • 1-credit S/U course • 2-hour weekly workshop • work on related problem sets Full? Or need a different time? https://tinyurl.com/aew-request 2

  3. Things to Do Before Next Class • Read Sections 3.4-3.11 • If you haven’t already: • install Anaconda Python & Komodo on your machine • play around with python a bit! 3

  4. Function Calls • Python supports expressions with math-like functions § A function in an expression is a function call § Will explain the meaning of this later • Function expressions have the form: fun (x,y,…) function argument name • Some math functions built into Python: § round(2.34) Arguments can be any expression § max(a+3,24) 4

  5. Always-available Built-in Functions • You have seen many functions already § Type casting functions: int() , float() , bool() § Get type of a value: type() § Exit function: exit() Arguments go in () , but name() refers to function in general • Longer list: http://docs.python.org/3/library/functions.html 5

  6. The Lack of Built-in Functions • Python contains few built-in functions • Missing many functions you would expect § Example : cos() , sqrt() • Many more functions are available through built-in modules 6

  7. Modules • “Libraries” of functions and variables • To access a module, use the import command: import < module name > • Can then access functions like this: < module name > . < function name > ( < arguments > ) • Example : >>> import math >>> math.cos(2.0) -0.4161468365471424 7

  8. Necessity of import With import Without import C:\> python C:\> python This is the Windows Python is unaware command line of what “math” is (Mac looks different) >>> import math >>> math.cos(2.0) >>> math.cos(2.0) Traceback (most recent call last): -0.4161468365471424 File "<stdin>", line 1, in <module> NameError: name 'math' is not defined 8

  9. Module Variables • Modules can have variables, too • Can access them like this: < module name >.< variable name> • Example : >>> import math >>> math.pi 3.141592653589793 9

  10. Visualizing functions & variables • So far just built-ins int() float() str() type() print() … > python >>> 10

  11. Visualizing functions & variables • So far just built-ins int() • Now we’ve defined a float() new variable str() type() print() … x 7 > python >>> x = 7 >>> 11

  12. Visualizing functions & variables • So far just built-ins int() • Now we’ve defined a float() new variable str() • Now we’ve imported a type() print() module … x 7 > python math >>> x = 7 cos() >>> import math sqrt() e >>> pi … 12

  13. module help After importing a module, see what functions and variables are available: >>> help(< module name >) 13

  14. Reading the Python Documentation https://docs.python.org/3/library/math.html 14

  15. A Closer Reading of the Python Documentation https://docs.python.org/3/library/math.html Function name Possible arguments What the function Module evaluates to 15

  16. Other Useful Modules • io § Read/write from files • random § Generate random numbers § Can pick any distribution • string § Useful string functions • sys § Information about your OS 16

  17. Making your Own Module Write in a text editor We use Komodo Edit… …but any editor will work 17

  18. Interactive Shell vs. Modules Python Interactive Shell Module • Written in text editor • Type python at command line • Loaded through import • Type commands after >>> • Python executes statements • Python executes as you type when import is called Section 2.4 in your textbook discusses a few differences 18

  19. my_module.py Module Text Single line # my_module.py comment (not executed) """This is a simple module. Docstring It shows how modules work""" (note the Triple Quotes) Acts as a multi-line comment Useful for code documentation x = 1+2 Commands x = 3*x Executed on import 19

  20. Modules Must be in Working Directory! Must run python from same folder as the module 20

  21. Using a Module (my_module.py) Module Text Python Command Shell >>> # my_module.py """This is a simple module. It shows how modules work""" x = 1+2 x = 3*x 21

  22. Using a Module (my_module.py) Module Text Python Command Shell # my_module.py >>> import my_module Needs to be the same """This is a simple module. name as the file without It shows how modules work""" the “.py” x = 1+2 x = 3*x 22

  23. On import…. Module Text Python Command Shell Python does not execute (because of # ) # my_module.py >>> import module Python does not execute """This is a simple module. (because of """ and """ ) It shows how modules work""" x Python executes this. 9 x 3 x = 1+2 x = 3*x Python executes this. variable x stays “within” the module 23

  24. Clicker Question! Module Text Python Command Shell # my_module.py >>> import my_module After you hit “Return” here """This is a simple module. what will python print next? It shows how modules work""" (A) >>> (B) 9 x = 1+2 >>> x = 3*x (C) an error message (D) The text of my_module.py (E) Sorry, no clue. 24

  25. Clicker Answer Module Text Python Command Shell # my_module.py >>> import my_module After you hit “Return” here """This is a simple module. what will python print next? It shows how modules work""" (A) >>> (B) 9 x = 1+2 >>> x = 3*x (C) an error message (D) The text of my_module.py (E) Sorry, no clue. 25

  26. Using a Module (my_module.py) Module Text Python Command Shell # my_module.py >>> import my_module >>> my_module.x """This is a simple module. It shows how modules work""" module name x = 1+2 x = 3*x The variable we want to access 26

  27. Using a Module (my_module.py) Module Text Python Command Shell # my_module.py >>> import my_module >>> my_module.x """This is a simple module. 9 It shows how modules work""" x = 1+2 x = 3*x 27

  28. You Must import C:\> python C:\> python >>> import my_module >>> my_module.x Traceback (most recent call last): >>> my_module.x File "<stdin>", line 1, in <module> 9 NameError: name 'my_module' is not defined 28

  29. You Must Use the Module Name >>> import my_module >>> import my_module >>> my_module.x >>> x Traceback (most recent call last): 9 File "<stdin>", line 1, in <module> NameError: name 'x' is not defined 29

  30. What does the docstring do? Module Text Python Command Shell # my_module.py """This is a simple module. It shows how modules work""" x = 1+2 x = 3*x 30

  31. from command • You can also import like this: from <module> import <function name> • Example : >>> from math import pi Note that you don’t >>> pi need the module 3.141592653589793 name now 31

  32. from command • You can also import everything from a module : from <module> import * • Example : >>> from math import * >>> pi 3.141592653589793 Module functions now behave like >>> cos(pi) built-in functions -1.0 32

  33. Dangers of Importing Everything >>> e = 12345 >>> from math import * >>> e e was overwritten! 2.718281828459045 33

  34. Avoiding from Keeps Variables Separate >>> e = 12345 >>> import math >>> math.e 2.718281828459045 >>> e 12345 34

  35. Ways of Executing Python Code 1. running the Python Interactive Shell 2. importing a module 3. NEW: running a script 35

  36. Running a Script • From the command line, type: python <script filename> • Example: C:\> python my_module.py C:\> looks like nothing happened • Actually, something did happen § Python executed all of my_module.py 36

  37. Running my_module.py as a script my_module.py Command Line Python does not execute (because of # ) # my_module.py C:\> python module.py Python does not execute """This is a simple module. (because of """ and """ ) It shows how modules work""" x Python executes this. x 3 9 x = 1+2 x = 3*x Python executes this. 37

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend