1 / 34

Python programming

Python programming. Introduction to the JES environment and basics of Python. Reading: Chapters 1, 2 from “Introduction to Computing and Programming in Python”. Python. The programming language we will be using is called Python http://www.python.org

Download Presentation

Python programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Python programming Introduction to the JES environment and basics of Python • Reading: Chapters 1, 2 from “Introduction to Computing and Programming in Python”

  2. Python • The programming language we will be using is called Python • http://www.python.org • It’s used by companies like Google, Industrial Light & Magic, Nextel, and others • The kind of Python we’re using is called Jython • It’s Java-based Python • http://www.jython.org • We’ll be using a specific tool to make Python programming easier, called JES (Jython Environment for Students).

  3. JES - Jython Environment for Students Program area - A simple editor for programs • Command area • Interaction with Jython

  4. Python interaction through commands Anything you type in command area is evaluated and its value is displayed • Example: >>> 5 + 3 8 >>> ‘spam’ ‘spam’ >>> “spam” ‘spam’ >>> “spam and more spam” ‘spam and more spam’ >>> ‘spam’ + ‘spam’ ‘spamspam’ prompt

  5. print displays the value of an expression • In many cases it makes no difference whether you use print - the result gets displayed anyway. >>> print 5 + 3 8 >>> print ‘spam’ spam >>> ‘spam’ + ‘spam’ ‘spamspam’ >>> print ‘spam’ + ‘spam’ Spamspam Note: no quotes!

  6. Command Area Editing • Up/down arrows walk through command history • You can edit the line at the bottom • Just put the cursor at the end of the line before hitting Return/Enter.

  7. Variables are names for data Example: a= 3 b= -1 c = 2 x = 0 f = a*x*x + b*x + c

  8. Variables -more examples • Variables of other types newsItem = “You’ve got spam!” • Variables keep their value for the duration of a program or until they get a new value through a new assignment a = 3 b = a *2 + 5 a = 0 Up to this point the value of a is still 3, but then it changes to 0

  9. Python functions • Python has a lot of built-in functions for general mathematical manipulation, eg: • sqrt(4) - computes the square root of 4 • ord(‘A’) - computes the ASCII code for character ‘A’ • Example: print (-b+sqrt(b*b - 4*a*c))/2*a

  10. But what exactly is a function? F(a,b) 4 ‘a’ F(4, ‘a’) side-effects

  11. Functions in general F(a,b) 4 ‘a’ F(4, ‘a’) side-effects

  12. Example: sqrt() sqrt(a) 4 2 side-effects

  13. JES Functions • A bunch of functions are pre-defined in JES for sound and picture manipulations • pickAFile() • makePicture() • makeSound() • show() • play() • Some of these functions accept input values theFile = pickAFile() pic = makePicture(theFile)

  14. Example: pickAFile() pickAFile() Filename (eg: C:\Documents and Settings\mpapalas\My Documents\greenroom.jpg) Pops up a dialog box for the user to select a file

  15. Picture Functions • makePicture(filename) creates and returns a picture object, from the JPEG file at the filename • show(picture) displays a picture in a window • We’ll learn functions for manipulating pictures later, like getColor(), setColor(), and repaint()

  16. Example: makePicture() makePicture(filename) Picture object corresponding to image that is saved in theFile theFile • makePicture(filename) • creates and returns a picture object, from the JPEG file at the filename

  17. Example: show() show(picture-obj) Picture object corresponding to image that is saved in theFile Pops up a new window displaying image stored in the the picture object

  18. Demonstrating picture manipulation with JES >>> >>> print pickAFile() C:\Documents and Settings\mpapalas\Desktop\sample.jpg >>> theFile = "C:\Documents and Settings\mpapalas\Desktop\sample.jpg" >>> makePicture(theFile) Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> print makePicture(theFile) Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> pic = makePicture(theFile) >>> print pic Picture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600 >>> show(pic)

  19. Writing a recipe: Making our own functions def fcnName (input1, input2,...) : block describing what the function should do returnvalue • To make a function, use the command def • Then, the name of the function, and the names of the input values between parentheses (“(input1)”) • Important: End the line with a colon (“:”) • The body of the recipe is indented (Hint: Use two spaces) • That’s called a block • Optionally, the function can return a value

  20. Writing a recipe: Making our own functions def fcnName (input1, input2,...) : block describing what the function should do returnvalue • To make a function, use the command def • Then, the name of the function, and the names of the input values between parentheses (“(input1)”) • Important: End the line with a colon (“:”) • The body of the recipe is indented (Hint: Use two spaces) • That’s called a block • Optionally, the function can return a value Optional

  21. A recipe for displaying picked picture files Defines a new function defpickAndShow(): theFile =pickAFile() pickAFile() theFile Pops up a dialog box for the user to select a file

  22. A recipe for displaying picked picture files defpickAndShow(): theFile =pickAFile() pic =makePicture(theFile) pickAFile() makePicture(filename) theFile pic Pops up a dialog box for the user to select a file

  23. A recipe for displaying picked picture files defpickAndShow(): theFile =pickAFile() pic =makePicture(theFile) show(pic) pickAFile() makePicture(filename) show(picture-obj) theFile pic Pops up a new window displaying image stored in the the picture object Pops up a dialog box for the user to select a file

  24. A recipe for displaying picked picture files defpickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic) pickAndShow() pickAFile() makePicture(filename) show(picture-obj) theFile pic Pops up a new window displaying image stored in the the picture object Pops up a dialog box for the user to select a file

  25. A recipe for playing picked sound files def pickAndPlay(): myfile = pickAFile() mysound = makeSound(myfile) play(mysound) Note:myfile and mysound, inside pickAndPlay(), are completely different from the same names in the command area.

  26. Anything complicated is best done in the Program Area Program area - A simple editor for programs • Command area • Interaction with Jython

  27. Using the Program Area • Type your program (or cut and paste from the command area) • Save (or Save As) - use .py for file extension • Load Program (click on button between command and program areas) • Before you load it, the program is just a bunch of characters. • Loading encodes it as an executable function • You must Save before Loading • You must Load before you can use your function

  28. Making functions the easy way • Get something working by typing commands • Enter the def command. • Copy-paste the right commands up into the recipe

  29. Names for variables and functions can be (nearly)anything! • Must start with a letter (but can contain numerals) • Can’t contain spaces • myPicture is okay but my Picture is not • Be careful not to use command names as your own names • print = 1 won’t work • (Avoid names that appear in the editor pane of JES highlighted in blue or purple) • Case matters • MyPicture is not the same as myPicture or mypicture • Sensible names are sensible • E.g. myPicture is a good name for a picture, but not for a picture file. • x could be a good name for an x-coordinate in a picture, but probably not for anything else

  30. Blocking is indicated for you in JES • Statements that are indented the same, are in the same block. • Statements that are in the same block as where the line where the cursor is are enclosed in a blue box.

  31. Now what? • When you load your program, what happens with the function? • After a program with a function definition is loaded, that function can be used either from the command or the program area • Try using your function by typing pickAndShow() in the command area

  32. Exploring more functions • The JES Functions menu has functions arranged by type - check them out! • Can you find a function that inputs a number? • Can you find under what category pickAFile() is listed?

  33. Reading • Chapters 1, 2 from “Introduction to Computing and Programming in Python”

  34. Assignment Create a function that… • Causes an interactive input window to pop up and request some form of input from the user and stores it in a variable • Displays the value stored in the variable • Displays an image from a file • Save your function in a file • Load it • Use the function in the command area to make sure that it works and does what you want it to do • Submit your file through webct

More Related