Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 1110 Introduction to Programming Spring 2017

Similar presentations


Presentation on theme: "CS 1110 Introduction to Programming Spring 2017"— Presentation transcript:

1 CS 1110 Introduction to Programming Spring 2017
Functions (2) CS 1110 Introduction to Programming Spring 2017

2 Print versus Return Print Return
Review Print versus Return Print All print statements reached by the function are executed They are printed to the screen After a print statement is executed, the execution proceeds to the next statement Return A return statement is optional Only first return statement reached gets run If no return statement, function returns None A return ceases execution of a function and returns a value At most one (the first) return statement that is reached during a particular function call is executed A return value is not printed, unless a function is printed print(add(2, 3)) CS 1110

3 Void versus Value-Returning Functions
Review Void versus Value-Returning Functions Void functions Does not return anything None in Python Examples print(str) random.seed(seed) random.shuffle() Value-Return functions return something Examples abs(some_number) random.randInt(0, 100) random.sample(some_list) CS 1110

4 Tracing through Code with Functions
Review Tracing through Code with Functions Pass by value  copy of actual value Pass by reference  copy of the memory address seven steps for every function call: CS 1110

5 Importing Existing Functions
Review Importing Existing Functions Be careful when naming your file. If the file name is the same as Python standard objects/libraries, the interpreter gets confused !! import random up_time = 210 number_of_breakdowns = 16 num_runs = int(input("How many simulation runs? : ")) seed = int(input("Enter a seed (0 for random) : ")) if seed != 0: random.seed(seed) # sets the integer starting value used in generating random numbers sum_MTBF = 0 for run in range(num_runs): likelihood = random.random() MTBF = (up_time * likelihood) / number_of_breakdowns sum_MTBF += MTBF print(likelihood) print("Estimated MTBF over " + str(num_runs) + " simulations = " , sum_MTBF/num_runs) CS 1110

6 Importing Existing Functions
Review Importing Existing Functions Assuming the add() function and other functions are saved in a file called math_lib.py From … import * allows us to import all functions from math_lib.py into the current file Call functions from other files Can use add() without defining it here Python imports some standard functions, such as str() and len() automatically; others need the import statement Put at the top of the current file from math_lib import * add(2, 3) print(add(4, 5)) print(add(1, -1)) CS 1110

7 Calling Functions from Functions
def main(): print('The sum of 12 and 45 is ') show_sum(12, 45) def show_sum(num1, num2): result = num1 + num2 print(result) main() main num1 show_sum num2 12 45 result 57 none The sum of 12 and 45 is 57 CS 1110

8 Local Variables number = 0 def main(): number = int(input('Enter a number: ')) show_number() def show_number(): print('The number you entered is ', number) main() Enter a number: 7 The number you entered is 0 CS 1110

9 Global Variables number = 0 def main(): global number number = int(input('Enter a number: ')) show_number() def show_number(): print('The number you entered is ', number) main() Enter a number: 7 The number you entered is 7 CS 1110

10 Calling Functions with Named/Optional Parameters
def my_function(name="Mary", school="UVa"): print(name + " goes to " + school) # call a function without param passing my_function() # call a function with some params (ordering) my_function("Tom") # call a function with a named param my_function(school="GMU") # call a function with param passing (match number of params and ordering) my_function("Ann", "VT") # call a function with named params in any order my_function(school="GMU", name="Ann") Default values Mary goes to Uva Tom goes to Uva Mary goes to GMU Ann goes to VT Ann goes to GMU CS 1110


Download ppt "CS 1110 Introduction to Programming Spring 2017"

Similar presentations


Ads by Google