Python for Non-programmers

Similar documents
Python for Non-programmers

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Variables, expressions and statements

Python The way of a program. Srinidhi H Asst Professor Dept of CSE, MSRIT

Python Intro GIS Week 1. Jake K. Carr

T H E I N T E R A C T I V E S H E L L

CS 115 Lecture 4. More Python; testing software. Neil Moore

CS1 Lecture 3 Jan. 22, 2018

CS 115 Data Types and Arithmetic; Testing. Taken from notes by Dr. Neil Moore

Python Programming Exercises 1

Getting Started with Python

age = 23 age = age + 1 data types Integers Floating-point numbers Strings Booleans loosely typed age = In my 20s

DEBUGGING TIPS. 1 Introduction COMPUTER SCIENCE 61A

Introduction to: Computers & Programming: Review prior to 1 st Midterm

Text Input and Conditionals

The current topic: Python. Announcements. Python. Python

Programming Fundamentals and Python

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

Interactive use. $ python. >>> print 'Hello, world!' Hello, world! >>> 3 $ Ctrl-D

Scripting Languages. Python basics

Intro. Scheme Basics. scm> 5 5. scm>

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Python: common syntax

Interactive use. $ python. >>> print 'Hello, world!' Hello, world! >>> 3 $ Ctrl-D

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Decisions, Decisions. Testing, testing C H A P T E R 7

Introduction to Python

Accelerating Information Technology Innovation

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5

Hello, World! An Easy Intro to Python & Programming. Jack Rosenthal

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world!

Lecture 3. Input, Output and Data Types

Accelerating Information Technology Innovation

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) First Name: Last Name: NetID:

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

06/11/2014. Subjects. CS Applied Robotics Lab Gerardo Carmona :: makeroboticsprojects.com June / ) Beginning with Python

If Statements, For Loops, Functions

Python notes from codecademy. Intro: Python can be used to create web apps, games, even a search engine.

CS1 Lecture 3 Jan. 18, 2019

Python 1: Intro! Max Dougherty Andrew Schmitt

Introduction to Python Part 1. Brian Gregor Research Computing Services Information Services & Technology

The Three Rules. Program. What is a Computer Program? 5/30/2018. Interpreted. Your First Program QuickStart 1. Chapter 1

Fundamentals of Programming (Python) Getting Started with Programming

Algorithms and Programming I. Lecture#12 Spring 2015

Week - 01 Lecture - 04 Downloading and installing Python

Lists, loops and decisions

Programming in Python 3

CME 193: Introduction to Scientific Python Lecture 1: Introduction

Using IDLE for

COMP1730/COMP6730 Programming for Scientists. Data: Values, types and expressions.

PYTHON FOR KIDS A Pl ayfu l I ntrodu ctio n to Prog r am m i ng J a s o n R. B r i g g s

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style

Introduction to Python

ENGR 101 Engineering Design Workshop

NESTED IF STATEMENTS AND STRING/INTEGER CONVERSION

CMPT 120 Basics of Python. Summer 2012 Instructor: Hassan Khosravi

Beyond Blocks: Python Session #1

Getting Started Values, Expressions, and Statements CS GMU

Introduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15

MITOCW watch?v=0jljzrnhwoi

Flow Control. So Far: Writing simple statements that get executed one after another.

Python for C programmers

Introduction to Python (All the Basic Stuff)

Module 1: Introduction RStudio

Python for Informatics

These are notes for the third lecture; if statements and loops.

Strings and Testing string methods, formatting testing approaches CS GMU

Python I. Some material adapted from Upenn cmpe391 slides and other sources

Introduction to Programming with JES

Not-So-Mini-Lecture 6. Modules & Scripts

CS1110 Lab 1 (Jan 27-28, 2015)

Here n is a variable name. The value of that variable is 176.

Maxime Defauw. Learning Swift

A Little Python Part 1. Introducing Programming with Python

Introduction to Python

Introduction to Python Code Quality

Some material adapted from Upenn cmpe391 slides and other sources

MEIN 50010: Python Introduction

Part III Appendices 165

Math 25 and Maple 3 + 4;

Lab 1: Course Intro, Getting Started with Python IDLE. Ling 1330/2330 Computational Linguistics Na-Rae Han

Lecture 4. Defining Functions

Flow Control: Branches and loops

CMSC 201 Fall 2016 Lab 09 Advanced Debugging

MIT AITI Python Software Development

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

There are two ways to use the python interpreter: interactive mode and script mode. (a) open a terminal shell (terminal emulator in Applications Menu)

Getting Started. Office Hours. CSE 231, Rich Enbody. After class By appointment send an . Michigan State University CSE 231, Fall 2013

Intro to Python & Programming. C-START Python PD Workshop

Scripting Languages. Diana Trandabăț

CS 190C: Introduction to Computational Thinking

COMP-202: Foundations of Programming. Lecture 2: Java basics and our first Java program! Jackie Cheung, Winter 2016

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

Conditional Expressions and Decision Statements

Control, Quick Overview. Selection. Selection 7/6/2017. Chapter 2. Control

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

History Installing & Running Python Names & Assignment Sequences types: Lists, Tuples, and Strings Mutability

61A Lecture 2. Friday, August 28, 2015

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

CMSC 201 Computer Science I for Majors

Transcription:

Python for Non-programmers A Gentle Introduction 1 Yann Tambouret Scientific Computing and Visualization Information Services & Technology Boston University 111 Cummington St. yannpaul@bu.edu Winter 2013 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 1 / 56

This Tutorial Introduction This is for non-programmers. The first half is very gentle. The second half is more in depth. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 2 / 56

This Tutorial Introduction This is for non-programmers. The first half is very gentle. The second half is more in depth. If you have any programming experience, feel free to entertain yourself at codingbat.com/python Yann - yannpaul@bu.edu (SCV) Python Winter 2013 2 / 56

This Tutorial Introduction This is for non-programmers. The first half is very gentle. The second half is more in depth. If you have any programming experience, feel free to entertain yourself at codingbat.com/python Get ready to type... this is definitely interactive. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 2 / 56

Python Overview Introduction Python is named after the BBC show Monty Python s Flying Circus Yann - yannpaul@bu.edu (SCV) Python Winter 2013 3 / 56

Python Overview Introduction Python is named after the BBC show Monty Python s Flying Circus We will focus on Python 2 today. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 3 / 56

Python Overview Introduction Python is named after the BBC show Monty Python s Flying Circus We will focus on Python 2 today. How to get Python on Katana and on Windows or Mac Yann - yannpaul@bu.edu (SCV) Python Winter 2013 3 / 56

Python Overview Introduction Python is named after the BBC show Monty Python s Flying Circus We will focus on Python 2 today. How to get Python on Katana and on Windows or Mac This tutorial borrows largely from a tutorial by the Boston Python Group Yann - yannpaul@bu.edu (SCV) Python Winter 2013 3 / 56

Introduction Python is Interpreted Python can be run interactively. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 4 / 56

Introduction Python is Interpreted Python can be run interactively. Code execution is almost instant; No explicit compilation step required. This allows for a faster development process Yann - yannpaul@bu.edu (SCV) Python Winter 2013 4 / 56

Introduction Python is Interpreted Python can be run interactively. Code execution is almost instant; No explicit compilation step required. This allows for a faster development process The final product is usually more resource intensive, and as a side effect slower then comparable C/Fortran code. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 4 / 56

Introduction Python is Interactive Practice running python, type python in the terminal, hit Enter: 1 % python 2 Python 2.7 (#1, Feb 28 2010, 00:02:06) 3 Type "help ", " copyright ", " credits " or " license " for more information. 4 >>> The >>> is a prompt asking for the next python line of code. Sometimes you ll see... as a prompt too. To exit, type exit() and Enter Try it! Yann - yannpaul@bu.edu (SCV) Python Winter 2013 5 / 56

Numbers 1 Python as a Calculator Start python (type python, then Enter), and try typing the following Addition: 1 2 + 2 2 1.5 + 2. 25 Subtraction: 1 4-2 2 100 -.5 3 0-2 Multiplication: 1 2 * 3 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 6 / 56

Python as a Calculator Numbers 1 - Output 1 >>> 2 + 2 2 4 3 >>> 1.5 + 2. 25 4 3.75 5 >>> 4-2 6 2 7 >>> 100 -.5 8 99.5 9 >>> 0-2 10-2 11 >>> 2 * 3 12 6 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 7 / 56

Numbers 2 Python as a Calculator Division: 1 4 / 2 2 1 / 2 3 1.0 / 2 4 3/4 + 1/4 5 3.0/4 + 1.0/4 6 3.0/4.0 + 1.0/4.0 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 8 / 56

Python as a Calculator Numbers 2 - Output 1 >>> 4/2 2 2 3 >>> 1/2 4 0 5 >>> 1.0/2 6 0.5 7 >>> 3/4 + 1/4 8 0 9 >>> 3.0/4 + 1.0/4 10 1.0 11 >>> 3.0/4.0 + 1.0/4.0 12 1.0 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 9 / 56

type() Python as a Calculator type() is a function that tells you what data type Python thinks something is. Try: 1 type (1) 2 type (1.0) Yann - yannpaul@bu.edu (SCV) Python Winter 2013 10 / 56

type() Python as a Calculator type() is a function that tells you what data type Python thinks something is. Try: 1 type (1) 2 type (1.0) results in: 1 >>> type (1) 2 <type int > 3 >>> type (1.0) 4 <type float > Yann - yannpaul@bu.edu (SCV) Python Winter 2013 10 / 56

type() Python as a Calculator type() is a function that tells you what data type Python thinks something is. Try: 1 type (1) 2 type (1.0) results in: 1 >>> type (1) 2 <type int > 3 >>> type (1.0) 4 <type float > type() is a function, it takes one argument and it returns info about the argument s type. We will talk more about functions in a bit, and create our own. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 10 / 56

Tip Python as a Calculator Press the up arrow a few times in the terminal. The Python Interpreter saves a history of what you type. Pressing up allows you to access previous lines. Hit return and you re-run a command. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 11 / 56

Variables 1 Python as a Calculator Python variables can be made of any data type. Giving a name to some value is called assignment. Variable names cannot have spaces, and they need to start with a letter. Try typing: 1 type (4) 2 x = 4 3 x 4 type (x) 5 2 * x Yann - yannpaul@bu.edu (SCV) Python Winter 2013 12 / 56

Python as a Calculator Variables 1 - output and we get: 1 >>> type (4) 2 <type int > 3 >>> x = 4 4 >>> x 5 4 6 >>> type (x) 7 <type int > 8 >>> 2 * x 9 8 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 13 / 56

Note on Output Python as a Calculator Just typing a value and the interpreter spits it back out at you. If you assign 4 to a variable, nothing is printed. 1 >>> 4 2 4 3 >>> x = 4 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 14 / 56

Variables 2 Python as a Calculator Reassignment is possible: 1 >>> x = 4 2 >>> x 3 4 4 >>> x = 5 5 >>> x 6 5 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 15 / 56

Variables 2 Python as a Calculator Reassignment is possible: 1 >>> x = 4 2 >>> x 3 4 4 >>> x = 5 5 >>> x 6 5 And order of operations is as you might expect: 1 >>> x = 3 2 >>> y = 4 3 >>> 2 * x - 1 * y 4 2 5 >>> (2* x) - (1* y) 6 2 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 15 / 56

Strings 1 Python as a Calculator Strings are surrounded by quotes: 1 " Hello " 2 " Python, I m your #1 fan!" And you can still use type() to check things out: 1 type (" Hello ") 2 type (1) 3 type ("1") Yann - yannpaul@bu.edu (SCV) Python Winter 2013 16 / 56

Python as a Calculator Strings 1 - Output 1 >>> " Hello " 2 Hello 3 >>> " Python, I m your #1 fan!" 4 " Python, I m your #1 fan!" 5 >>> type (" Hello ") 6 <type str > 7 >>> type (1) 8 <type int > 9 >>> type ("1") 10 <type str > Yann - yannpaul@bu.edu (SCV) Python Winter 2013 17 / 56

Strings 2 Python as a Calculator Strings can be combined (concatenated): 1 " Hello " + " World " Yann - yannpaul@bu.edu (SCV) Python Winter 2013 18 / 56

Strings 2 Python as a Calculator Strings can be combined (concatenated): 1 " Hello " + " World " And you can formally print strings with the print command: 1 print " Hello " + " World " Yann - yannpaul@bu.edu (SCV) Python Winter 2013 18 / 56

Python as a Calculator Strings 2 - Output 1 >>> " Hello " + " World " 2 HelloWorld 3 >>> print " Hello " + " World " 4 HelloWorld The effect is the same, but there s a subtle difference of missing quotes. print will become important soon, when we start writing scripts... Yann - yannpaul@bu.edu (SCV) Python Winter 2013 19 / 56

Python as a Calculator A Note about Errors What happens when you type: 1 z 2 " Hello " + 1 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 20 / 56

Python as a Calculator A Note about Errors - Output 1 >>> z 2 Traceback ( most recent call last ): 3 File " <console >", line 1, in <module > 4 NameError : name z is not defined 5 >>> " Hello " + 1 6 Traceback ( most recent call last ): 7 File " <console >", line 1, in <module > 8 TypeError : cannot concatenate str and int objects Yann - yannpaul@bu.edu (SCV) Python Winter 2013 21 / 56

Python as a Calculator A Note about Errors - Output 1 >>> z 2 Traceback ( most recent call last ): 3 File " <console >", line 1, in <module > 4 NameError : name z is not defined 5 >>> " Hello " + 1 6 Traceback ( most recent call last ): 7 File " <console >", line 1, in <module > 8 TypeError : cannot concatenate str and int objects A traceback occurs: TypeError is the error that occurs cannot concatenate str and int objects is the helpful message and every thing from Traceback to the error tells you where it happened Yann - yannpaul@bu.edu (SCV) Python Winter 2013 21 / 56

Strings 3 Python as a Calculator Single or Double quotes are OK: 1 print Hello 2 print " Hello " But be careful to escape extra quotes: 1 print I m a happy camper 2 print " I m a happy camper " 3 print I\ m a happy camper And you can multiply strings by an integer: 1 h = " Happy " 2 b = " Birthday " 3 print (h + b) * 10 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 22 / 56

Python as a Calculator Strings 3 - Output 17 HappyBirthdayHappyBirthdayHappyBirthdayHappyBirthdayH 1 >>> print Hello 2 Hello 3 >>> print " Hello " 4 Hello 5 >>> print I m a happy camper 6 File " < console >", line 1 7 print I m a happy camper 8 ^ 9 SyntaxError : invalid syntax 10 >>> print I\ m a happy camper 11 I m a happy camper 12 >>> print " I m a happy camper " 13 I m a happy camper 14 >>> h = " Happy " 15 >>> b = " Birthday " 16 >>> print (h + b) * 10 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 23 / 56

Python is a Scripting Language From interactive prompt to... The Python prompt is great for quick tasks: math, short bits of code, and testing. For bigger projects, it s easier to store code in a file. One such example can be found in examples\nobel.py Yann - yannpaul@bu.edu (SCV) Python Winter 2013 24 / 56

Python is a Scripting Language Script Practice: Nobel Laureates 1 Exit python: exit() then hit Enter The >>> is now replaced by % ; This is the Unix Prompt. 2 Go to examples directory with this command: % cd examples 3 Run the script by typing: % python nobel.py 4 Open nobel.py (command: % gedit nobel.py & ) and answer these questions: Yann - yannpaul@bu.edu (SCV) Python Winter 2013 25 / 56

Python is a Scripting Language Script Practice: Nobel Laureates 1 Exit python: exit() then hit Enter The >>> is now replaced by % ; This is the Unix Prompt. 2 Go to examples directory with this command: % cd examples 3 Run the script by typing: % python nobel.py 4 Open nobel.py (command: % gedit nobel.py & ) and answer these questions: 1 How do you comment code in Python? 2 How do you print a newline? 3 How do you print a multi-line string so that whitespace is preserved? Yann - yannpaul@bu.edu (SCV) Python Winter 2013 25 / 56

Booleans 1 Python is a Scripting Language A Boolean type is a type with two values: True/False. Try typing the following: 1 True 2 type ( True ) 3 False 4 type ( False ) Yann - yannpaul@bu.edu (SCV) Python Winter 2013 26 / 56

Python is a Scripting Language 1 >>> True 2 True 3 >>> type ( True ) 4 <type bool > 5 >>> False 6 False 7 >>> type ( False ) 8 <type bool > Yann - yannpaul@bu.edu (SCV) Python Winter 2013 27 / 56

Booleans 2a Python is a Scripting Language You can also compare values, to see if they re equal: 1 0 == 0 2 0 == 1 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 28 / 56

Booleans 2b Python is a Scripting Language You can also compare values, to see if they re equal: 1 >>> 0 == 0 2 True 3 >>> 0 == 1 4 False == (equal equal) is for equality test = (equal) is for assignment Be careful! This can lead to bugs! Yann - yannpaul@bu.edu (SCV) Python Winter 2013 29 / 56

Booleans 3 Python is a Scripting Language You can do other comparisons:!= means not equal 1 "a"!= "a" 2 "a"!= "A" Others are just like math class: 1 1 > 0 2 2 >= 3 3-1 < 0 4.5 <= 1 Yann - yannpaul@bu.edu (SCV) Python Winter 2013 30 / 56

Python is a Scripting Language Booleans 3 - Output 1 >>> "a"!= "a" 2 False 3 >>> "a"!= "A" 4 True 5 >>> 1 > 0 6 True 7 >>> 2 >= 3 8 False 9 >>> -1 < 0 10 True 11 >>>.5 <= 1 12 True Yann - yannpaul@bu.edu (SCV) Python Winter 2013 31 / 56

Booleans 4 Python is a Scripting Language You can see if something is in something else: 1 "H" in " Hello " 2 "X" in " Hello " or not: 1 "a" not in " abcde " 2 " Perl " not in " Python Tutorial " Yann - yannpaul@bu.edu (SCV) Python Winter 2013 32 / 56

Python is a Scripting Language Booleans 4 - Output 1 >>> "H" in " Hello " 2 True 3 >>> "X" in " Hello " 4 False 5 >>> "a" not in " abcde " 6 False 7 >>> " Perl " not in " Python Tutorial " 8 True Yann - yannpaul@bu.edu (SCV) Python Winter 2013 33 / 56

Flow Control 1 Python is a Scripting Language You can use Booleans to decide if some code should be executed: 1 if 6 > 5: 2 print " Six is greater than five!" This is a multi-line piece of code: 1 if 6 > 5: 2 Enter 3 4 spaces 4 print "Six is greater than five!" 5 Enter 6 Enter again... Yann - yannpaul@bu.edu (SCV) Python Winter 2013 34 / 56

Flow Control 2 Python is a Scripting Language The... is a special prompt; Python realizes this is a code block. Final enter is to signify the end of code block. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 35 / 56

Flow Control 2 Python is a Scripting Language The... is a special prompt; Python realizes this is a code block. Final enter is to signify the end of code block. 1 >>> if 6 > 5: 2... print " Six is greater than five!" 3... 4 Six is greater than five! What s going on here? if looks for a Boolean, and if it is true, the code block is executed. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 35 / 56

Flow Control 2 Python is a Scripting Language The... is a special prompt; Python realizes this is a code block. Final enter is to signify the end of code block. 1 >>> if 6 > 5: 2... print " Six is greater than five!" 3... 4 Six is greater than five! What s going on here? if looks for a Boolean, and if it is true, the code block is executed. 6 > 5 is True so the next line is executed. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 35 / 56

Flow Control 3 Python is a Scripting Language Now what will happened? 1 if 0 > 2: 2 print " Zero is greater than two!" 3 if " banana " in " bananarama ": 4 print "I miss the 80s." Yann - yannpaul@bu.edu (SCV) Python Winter 2013 36 / 56

Python is a Scripting Language Flow Control 3 - Output 1 >>> if 0 > 2: 2... print " Zero is greater than two!" 3... 4 >>> if " banana " in " bananarama ": 5... print "I miss the 80s" 6... 7 I miss the 80 s Yann - yannpaul@bu.edu (SCV) Python Winter 2013 37 / 56

Python is a Scripting Language Indentation, what s up with that? If you ve programmed in other languages, this indentation thing might seem weird. Python prides itself as an easy-to-read language, and indentation makes it easy to read code blocks. So Python requires indentation over if/end-if, begin-block/end-block organization. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 38 / 56

Python is a Scripting Language Indentation - example 1 # this looks like other languages, 2 # but I use a comment to organize 3 if 1 == 1: 4 print " Everything is going to be OK!" 5 if 10 < 0: 6 print "or is it?" 7 # end if 8 print " Inside first code block!" 9 # end if Don t use #end if, just keep it in your mind if it gets confusing... Yann - yannpaul@bu.edu (SCV) Python Winter 2013 39 / 56

Flow Control 4 Python is a Scripting Language More control over choices if and else: 1 sister_ age = 15 2 brother_ age = 12 3 if sister_ age > brother_ age : 4 print " sister is older " 5 else : 6 print " brother is older " else block needs to be correctly indented too. else gets executed if Boolean is False. You don t shouldn t hit Enter twice between if code block and else statement. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 40 / 56

Python is a Scripting Language Compound Conditionals 1 and and or allow you to combine tests. and: True only if both are True or: True if at least one is True Try these: 1 1 > 0 and 1 < 2 2 1 < 2 and "x" in " abc " 3 "a" in " hello " or "e" in " hello " 4 1 <= 0 or "a" not in " abc " Yann - yannpaul@bu.edu (SCV) Python Winter 2013 41 / 56

Python is a Scripting Language Compound Conditionals 1 - Output 1 >>> 1 > 0 and 1 < 2 2 True 3 >>> 1 < 2 and "x" in " abc " 4 False 5 >>> "a" in " hello " or "e" in " hello " 6 True 7 >>> 1 <= 0 or " a" not in " abc " 8 False Yann - yannpaul@bu.edu (SCV) Python Winter 2013 42 / 56

Python is a Scripting Language Compound Conditionals 2 Try this: 1 temperature = 32 2 if temperature > 60 and temperature < 75: 3 print " It s nice and cozy in here!" 4 else : 5 print " Too extreme for me." Yann - yannpaul@bu.edu (SCV) Python Winter 2013 43 / 56

Python is a Scripting Language Compound Conditionals 2 - Output 1 >>> temperature = 32 2 >>> if temperature > 60 and temperature < 75: 3... print " It s nice and cozy in here!" 4... else : 5... print " Too extreme for me." 6... 7 Too extreme for me. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 44 / 56

Python is a Scripting Language Compound Conditions 3 And try this: 1 hour = 11 2 if hour < 7 or hour > 23: 3 print "Go away!" 4 print " I m sleeping!" 5 else : 6 print " Welcome to the cheese shop!" 7 print " Can I interest you in some choice gouda?" Yann - yannpaul@bu.edu (SCV) Python Winter 2013 45 / 56

Python is a Scripting Language Compound Conditions 3 - Output 1 >>> hour = 11 2 >>> if hour < 7 or hour > 23: 3... print "Go away!" 4... print "I m sleeping!" 5... else : 6... print " Welcome to the cheese shop!" 7... print " Can I interest you in some choice gouda?" 8... 9 Welcome to the cheese shop! 10 Can I interest you in some choice gouda? Yann - yannpaul@bu.edu (SCV) Python Winter 2013 46 / 56

Flow Control 5 Python is a Scripting Language There s also elif: 1 sister_ age = 15 2 brother_ age = 12 3 if sister_ age > brother_ age : 4 print " sister is older " 5 elif sister_ age == brother_ age : 6 print " sister and brother are the same age " 7 else : 8 print " brother is older " Yann - yannpaul@bu.edu (SCV) Python Winter 2013 47 / 56

Python is a Scripting Language Flow Control 5 - Output 1 >>> sister_ age = 15 2 >>> brother_ age = 12 3 >>> if sister_ age > brother_ age : 4... print " sister is older " 5... elif sister_ age == brother_ age : 6... print " sister and brother are the same age " 7... else : 8... print " brother is older " 9... 10 sister is older else is not required at the end, just like in the first if example. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 48 / 56

Functions Python is a Scripting Language Remember type()? Functions... do some useful work, let us re-use code without having to retype it, can take some input, and optionally return a value. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 49 / 56

Functions Python is a Scripting Language Remember type()? Functions... do some useful work, let us re-use code without having to retype it, can take some input, and optionally return a value. You call a function by using its name, followed by its arguments in parenthesis: 1 length = len (" Mississippi ") This assigns the number of characters in the string Mississippi to the variable length. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 49 / 56

Python is a Scripting Language Functions: Step 1 Write the function signature, how it will be called: 1 def, Tells Python you re defining a function. 2 Then a space, and the function s name. 3 Then an open parenthesis. 4 Then a comma-separated list of parameters 5 Then a closing parenthesis. or 6 And finally a colon, :. 1 def myfunction (): 1 def myfunction ( mylist, myinteger ): Yann - yannpaul@bu.edu (SCV) Python Winter 2013 50 / 56

Python is a Scripting Language Functions: Step 2 Do something (useful): Underneath the function signature you do some work. This code must be indented, just like if/else blocks. This tells python that it s part of the function. You can use variables passed as parameters just like you used variables before 1 def add (x, y): 2 result = x + y Yann - yannpaul@bu.edu (SCV) Python Winter 2013 51 / 56

Python is a Scripting Language Functions: Step 3 Return something (if you want to). return tells python to return a result. 1 def add (x, y): 2 result = x + y 3 return result or shorter... 1 def add (x, y): 2 return x + y In Python you can return anything: strings, booleans... even other functions! Yann - yannpaul@bu.edu (SCV) Python Winter 2013 52 / 56

Python is a Scripting Language Functions: Step 3 Once return is called, the work in the function ends: 1 def absolutevalue ( number ): 2 if number < 0: 3 return number * -1 4 return number Yann - yannpaul@bu.edu (SCV) Python Winter 2013 53 / 56

Python is a Scripting Language Functions: Step 3 Once return is called, the work in the function ends: 1 def absolutevalue ( number ): 2 if number < 0: 3 return number * -1 4 return number This code have also been written like: 1 def absolutevalue ( number ): 2 if number < 0: 3 return number * -1 4 else : 5 return number Yann - yannpaul@bu.edu (SCV) Python Winter 2013 53 / 56

Python is a Scripting Language Functions: Step 4 Use them! Again and again and again... 1 def add (x, y): 2 return x + y 3 4 result = add (1234, 5678) 5 print result 6 result = add ( -1.5,.5) 7 print result Yann - yannpaul@bu.edu (SCV) Python Winter 2013 54 / 56

Python is a Scripting Language Functions: Step 4 Use them! Again and again and again... 1 def add (x, y): 2 return x + y 3 4 result = add (1234, 5678) 5 print result 6 result = add ( -1.5,.5) 7 print result Keep in mind, functions don t have to return something, but they usually do. Yann - yannpaul@bu.edu (SCV) Python Winter 2013 54 / 56

End of Part 1 Python is a Scripting Language Thanks! Fill out the survey please! Yann - yannpaul@bu.edu (SCV) Python Winter 2013 55 / 56

Resources Python is a Scripting Language Like this tutorial: https://openhatch.org/wiki/ Boston_Python_Workshop_6/Friday A good place to practice: http://codingbat.com/python Much more detail: http://docs.python.org/tutorial/ Yann - yannpaul@bu.edu (SCV) Python Winter 2013 56 / 56