python basics! - arguments, parameters, methods, comments · cs101 lecture #5 2016-10-12....

31
Python Basics! arguments, parameters, methods, comments CS101 Lecture #5 2016-10-12

Upload: others

Post on 16-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Python Basics!arguments, parameters, methods, comments

CS101 Lecture #5

2016-10-12

Page 2: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Administrivia 1/18

Administrivia

Page 3: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Administrivia

Administrivia 2/18

Homework #2 is due Wed Oct . 19.Labs this Friday.

Page 4: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Functions Redux 3/18

Functions Redux

Page 5: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Functions

Functions Redux 4/18

A small program (block of code) we can runwithin Python.

Saves us from rewriting codeDon’t reinvent the wheel!

Analogy: Functions are more verbs.Also called subroutine or procedure.

Page 6: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Function calls

Functions Redux 5/18

When we want to execute a function, we call orinvoke it.Use name of the function with parentheses.

print()Many functions come built-in to Python or in thestandard library.Others we will compose at need.

Page 7: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

User input

Functions Redux 6/18

input is a built-in function.Argument: string prompting userReturn value: input from user (as str)

Page 8: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?What is x’s value after x = 1/2? 0 or 0.5?Is float("%i" % 10)) a legal expression?

Page 9: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?What is x’s value after x = 1/2? 0 or 0.5?Is float("%i" % 10)) a legal expression?

Page 10: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?

What is x’s value after x = 1/2? 0 or 0.5?Is float("%i" % 10)) a legal expression?

Page 11: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?What is x’s value after x = 1/2? 0 or 0.5?

Is float("%i" % 10)) a legal expression?

Page 12: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?What is x’s value after x = 1/2? 0 or 0.5?Is float("%i" % 10)) a legal expression?

Page 13: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Type conversion.

Functions Redux 7/18

A set of built-in functions to convert data fromone type to another.

float( "0.3" )str( 3 + 5j )

What is the value of int(3.7)? 3 or 4?What is x’s value after x = 1/2? 0 or 0.5?Is float("%i" % 10)) a legal expression?

Page 14: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Goal

Functions Redux 8/18

A program should achieve a goal.

Let’s implement the quadratic equation.

Page 15: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Goal

Functions Redux 8/18

A program should achieve a goal.Let’s implement the quadratic equation.

Page 16: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Example: Quadratic equation

Functions Redux 9/18

print( "QUADRATIC SOLVER" )print( "a x^2 + b x + c = 0" )

a = float( input( 'a: ' ) )b = float( input( 'b: ' ) )c = float( input( 'c: ' ) )

root = ( b**2 - 4*a*c ) ** 0.5denom = 2 * apos = (-b + root) / denomneg = (-b - root) / denommessage1 = "%.2f + %.2fi" % (pos.real,pos.imag)message2 = "%.2f + %.2fi" % (neg.real,neg.imag)print("Solution 1: %s" % message1)print("Solution 2: %s" % message2)

Page 17: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Achievement unlocked!

Functions Redux 10/18

Page 18: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods 11/18

Methods

Page 19: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Methods 12/18

Like attributes, functions can be stored inside atype as well.

Use attribute operator on the value."STOP SHOUTING!".lower()(1 + 1j).conjugate()

Value is treated like an argument.

Page 20: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Methods 12/18

Like attributes, functions can be stored inside atype as well.Use attribute operator on the value.

"STOP SHOUTING!".lower()(1 + 1j).conjugate()

Value is treated like an argument.

Page 21: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Methods 12/18

Like attributes, functions can be stored inside atype as well.Use attribute operator on the value."STOP SHOUTING!".lower()(1 + 1j).conjugate()

Value is treated like an argument.

Page 22: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Methods 12/18

Like attributes, functions can be stored inside atype as well.Use attribute operator on the value."STOP SHOUTING!".lower()(1 + 1j).conjugate()

Value is treated like an argument.

Page 23: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

String methods

Methods 13/18

"GATTACA".count('A')"MVEMJSUN".find('J')"ABACADABRA".replace('AB','G')' FNORD '.strip()'high king of narnia'.title()'wEiRd'.swapcase()

Page 24: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Example

Methods 14/18

s = "WATER MAIN"x = s[ 0:s.find( ' ' ) ].lower()x = x.title().swapcase()

What is the value of x?A 'wATER'B 'Water'C 'wATE'D 'aTER'

Page 25: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Comments 15/18

Comments

Page 26: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Comments 16/18

We can explain our code using comments.

Comments begin with a # sign; Python ignore therest of the line.Long comments can also be stored astriple-quoted strings.dx = 0.01 # grid spacing, mV = 14.2 # voltage, V"""This is an extended comment.I can be many lines long.Use me to explain functions or formulae, to document code,or to temporarily hide blocks you don't want to run."""

Page 27: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Comments 16/18

We can explain our code using comments.Comments begin with a # sign; Python ignore therest of the line.

Long comments can also be stored astriple-quoted strings.dx = 0.01 # grid spacing, mV = 14.2 # voltage, V"""This is an extended comment.I can be many lines long.Use me to explain functions or formulae, to document code,or to temporarily hide blocks you don't want to run."""

Page 28: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Comments 16/18

We can explain our code using comments.Comments begin with a # sign; Python ignore therest of the line.Long comments can also be stored astriple-quoted strings.

dx = 0.01 # grid spacing, mV = 14.2 # voltage, V"""This is an extended comment.I can be many lines long.Use me to explain functions or formulae, to document code,or to temporarily hide blocks you don't want to run."""

Page 29: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Methods

Comments 16/18

We can explain our code using comments.Comments begin with a # sign; Python ignore therest of the line.Long comments can also be stored astriple-quoted strings.dx = 0.01 # grid spacing, mV = 14.2 # voltage, V"""This is an extended comment.I can be many lines long.Use me to explain functions or formulae, to document code,or to temporarily hide blocks you don't want to run."""

Page 30: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Reminders 17/18

Reminders

Page 31: Python Basics! - arguments, parameters, methods, comments · CS101 Lecture #5 2016-10-12. Administrivia 1/18 Administrivia. Administrivia Administrivia 2/18 Homework #2 is due Wed

Reminders

Reminders 18/18

Homework #2 is due Wed Oct . 19.Labs this Friday.