Week 1 basic Python programs, defining functions Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted, this work is licensed under:
2 About Us John Kurkowski –Computer Science, Linguistics –Produces hip-hop music Best rapper alive: Nas Kim Todd –Computer Science, Math –Loves video games Will destroy you at: Guitar Hero
3 Python! Created in 1991 by Guido van Rossum (now at Google) –Named for Monty Python Useful as a scripting language –script: A small program meant for one-time use –Targeted towards small to medium sized projects Used by: –Google, Yahoo!, Youtube –Many Linux distributions –Games and apps (e.g. Eve Online)
4 Installing Python Windows: Download Python from Install Python. Run Idle from the Start Menu. Mac OS X: Python is already installed. Open a terminal and run python or run Idle from Finder. Linux: Chances are you already have Python installed. To check, run python from the terminal. If not, install from your distribution's package system. Note: For step by step installation instructions, see the course web site.
5 Interpreted Languages interpreted –Not compiled like Java –Code is written and then directly executed by an interpreter –Type commands into interpreter and see immediate results Computer Runtime Environment CompilerCode Java: ComputerInterpreterCode Python:
6 Chapter 1 Review Console output: System.out.println Methods: public static void name () {... Hello2.java public class Hello2 { public static void main(String[] args) { hello(); } public static void hello() { System.out.println("Hello, world!"); }
7 Our First Python Program Python does not have a main method like Java –The program's main code is just written directly in the file Python statements do not end with semicolons hello.py 1print "Hello, world!"
8 The Python Interpreter Allows you to type commands one-at-a-time and see results A great way to explore Python's syntax –Repeat previous command: Alt+P
9 The print Statement print " text " print (a blank line) –Escape sequences such as \" are the same as in Java –Strings can also start/end with ' swallows.py print "Hello, world!" print print "Suppose two swallows \"carry\" it together." print 'African or "European" swallows?'
10 Comments Syntax: # comment text (one line) swallows2.py # Suzy Student, CSE 142, Fall 2097 # This program prints important messages. print "Hello, world!" print # blank line print "Suppose two swallows \"carry\" it together." print 'African or "European" swallows?'
11 Functions Function: Equivalent to a static method in Java. Syntax: def name (): statement... statement –Must be declared above the 'main' code –Statements inside the function must be indented hello2.py # Prints a helpful message. def hello(): print "Hello, world!" # main (calls hello twice) hello()
12 Whitespace Significance Python uses indentation to indicate blocks, instead of {} –Makes the code simpler and more readable –In Java, indenting is optional. In Python, you must indent. hello3.py # Prints a helpful message. def hello(): print "Hello, world!" print "How are you?" # main (calls hello twice) hello()
13 Exercise Rewrite the Figures lecture program in Python. Its output: ______ / \ \ / \______/ \ / \______/ ______ / \ | STOP | \ / \______/ ______ / \
14 Exercise Solution def egg(): top() bottom() print def cup(): bottom() line() print def stop(): top() print "| STOP |" bottom() print def hat(): top() line() print def top(): print " ______" print " / \\" def bottom(): print "\\ /" print " \\______/" def line(): print " " # main egg() cup() stop() hat()