function calls function calls
play

Function Calls Function Calls Python supports expressions with - PowerPoint PPT Presentation

Module 3 Function Calls Function Calls Python supports expressions with math-like functions A function in an expression is a function call Function calls have the form name (x,y,) function argument name Arguments are


  1. Module 3 Function Calls

  2. Function Calls • Python supports expressions with math-like functions § A function in an expression is a function call • Function calls have the form name (x,y,…) function argument name § Arguments are themselves expressions § Arguments are separated by commas

  3. Built-In Functions • Python has several math functions Arguments can be § round(2.34) any expression § max(a+3,24) • You have seen many functions already § Type casting functions: int() , float() , bool() • Documentation of all of these are online § https://docs.python.org/3/library/functions.html § Most of these are two advanced for us right now

  4. Functions as Commands/Statements • Most functions are expressions. § You can use them in assignment statements § Example : x = round(2.34) • But some functions are commands . § They instruct Python to do something § Help function: help() These take no § Quit function: quit() arguments • How know which one? Read documentation.

  5. Case Study: String Functions • String processing is a major feature of Python § Easier than in many other languages § Will be the focus of first major assignment • Also highlights the flexibility of functions § Many string functions are expressions § But some of the most important are commands • Let’s examine three important functions

  6. Function len • Used as an expression § Value is # of chars in s § Evaluates to an int • Examples : § s = 'Hello' § len(s) == 5 Used in many § len('all') == 3 expressions § len(s+'all') == 8

  7. Function print • Used as a command § Displays arguments on screen • Examples : § print('Hello') This is not a value! print should be Hello called by itself, not § x = print('Hello') is None in an expression § print('Hello\nWorld’) Hello Translates special characters World

  8. One Last Function: input >>> input('Type something') Type somethingabc Like print but it 'abc' waits for typing >>> input('Type something: ') Type something: abc Evaluates to 'abc' what is typed >>> x = input('Type something: ') Type something: abc Can assign >>> x its value 'abc'

  9. One Last Function: input >>> input('Type something') Type somethingabc Like print but it 'abc' waits for typing >>> input('Type something: ') Will see the purpose Type something: abc Evaluates to function of this later 'abc' what is typed >>> x = input('Type something: ') Type something: abc Can assign >>> x its value 'abc'

  10. Built-in Functions vs Modules • The number of built-in functions is small § http://docs.python.org/3/library/functions.html • Missing a lot of functions you would expect § Example : cos() , sqrt() • Module : file that contains Python code § A way for Python to provide optional functions § To access a module, the import command

  11. Example: Module math To access math >>> import math functions >>> cos(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'cos' is not defined >>> math.cos(0) Functions require math 1.0 prefix! >>> math.pi Module has 3.141592653589793 variables too! >>> math.cos(math.pi) -1.0

  12. Example: Module math To access math >>> import math Other Modules functions >>> cos(0) Traceback (most recent call last): • io File "<stdin>", line 1, in <module> § Read/write from files • random NameError: name 'cos' is not defined § Generate random numbers >>> math.cos(0) Functions require math § Can pick any distribution 1.0 prefix! • string >>> math.pi Module has § Useful string functions 3.141592653589793 variables too! • sys >>> math.cos(math.pi) § Information about your OS -1.0

  13. Reading Documentation • Being able to read docs is an important skill § It is impossible for you to memorize everything § If you need something, expected to look it up • Reason why programmers have large monitors § Can have documentation open at all times § Does not get in the way of programming • But reading documentation requires training § Information laid out in a very specific way § May not be obvious to a beginner

  14. Reading the Python Documentation http://docs.python.org/library

  15. Reading the Python Documentation Function name Possible arguments Module What the function evaluates to http://docs.python.org/library

  16. Alternative: help() >>> import math help can take >>> help(math) an argument Help on module math: NAME Always available, but math not as searchable FUNCTIONS acos(...) acos(x) Return the arc cosine (measured in radians) of x. Hit space to : page through

  17. Using the from Keyword >>> from math import * >>> import math Must prefix with >>> cos(0) >>> math.pi module name 1.0 3.141592653589793 >>> sin(0) >>> from math import pi No prefix needed 0.0 >>> pi for variable pi No prefix needed 3.141592653589793 for anything in math >>> cos(pi) ERROR ONLY imported pi

  18. Be careful using from ! • Using import is safer § Modules might conflict (functions w/ same name) § What if import both? • Example : numpy § Has cos , sin too § Why? Performance (scientific computing) § But not always installed!

  19. Renaming >>> import math as m >>> m.cos(0) Can rename a module 1.0 >>> from math import cos as fred >>> fred(0) Can rename 1.0 a function

  20. Nested Modules Importing introcs >>> import introcs.strings imports all modules >>> introcs.strings.strip(' abc ') that it contains 'abc' >>> from introcs import strings >>> strings.strip(' abc ') 'abc' >>> from introcs.strings import strip >>> strip(' abc ')

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