fundamentals of programming (python)ce.sharif.edu/courses/96-97/1/ce153-12/resources/root... ·...

Post on 19-Mar-2021

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Fundamentals of Programming(Python)

Functions

Sina SajadmaneshSharif University of Technology

Fall 2017

Slides have been adapted from “CSCI 111: Fundamentals of Programming I” by Sara Sprenkle

Outline1. Functions and Advantages

2. Definition and Calling

3. Function Parameters

4. Function Output

5. Flow of Control

6. Program Organization

2SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

FunctionsFunctions perform some task◦ May take arguments/parameters

◦ May return a value that can be later used

Function is a black box◦ Implementation doesn't matter

◦ Only care that function generates appropriate output

3SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

AdvantagesAllows you to break up a hard problem into smaller, more manageable parts

Makes your code easier to understand

Hides implementation details (abstraction)

Makes part of the code reusable so that you: ◦ Only have to write function code once

◦ Can debug it all at once

◦ Can make changes in one function (maintainability)

4SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

Definition

5SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

Calling a Function

6SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

ParametersThe inputs to a function is called parameters◦ Parameters are local to the function and cannot be

references outside the function body

When calling a function: ◦ Must appear in the same order as function header:

◦ Or, must used in name=value way:

◦ Or both:

7SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

average = average2(100, 50)

average = average2(num1=100, num2=50)

average = average2(100, num2=50)

Passing ParametersOnly copies of the actual parameters are given to the function for immutable data types◦ Most of the data types we have talked about, such as

integer, float, string, and boolean are immutable

The actual parameters in the calling code do not change

8SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

Function OutputWhen the code reaches a statement like:

◦ The function stops executing

◦ x is the output returned to the place where the function was called

For functions that don't have explicit output, return does not have a value with it

Optional: don't need to have return◦ Function automatically returns at the end

9SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

return x

Flow of ControlWhen program calls a function, the program jumps to the function and executes it

After executing the function, the program returns to the same place in the calling code where it left of

10SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

Program OrganizationThe main function◦ In many languages, you put the “driver” for your

program in a main function◦ You can (and should) do this in Python as well

◦ Typically main functions are defined at the top of your program◦ Readers can quickly see an overview of what program does

◦ main usually takes no arguments

11SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

def main():

Program OrganizationThe main function◦ Call main() at the bottom of your program

◦ You can (and should) do this in Python as well

◦ Side effects:◦ Do not need to define functions before main function

◦ main can “see” all other functions

12SINA SAJADMANESH - FUNDAMENTALS OF PROGRAMMING [PYTHON]Fall 2017

top related