python programming
Post on 31-Dec-2015
78 Views
Preview:
DESCRIPTION
TRANSCRIPT
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– 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).
JES - Jython Environment for Students
Program Area
Command Area
Program area- A simple editor for programs
Command area- Interaction with Jython
>>> 5 + 38>>> ‘spam’‘spam’>>> “spam”‘spam’>>> “spam and more spam”‘spam and more spam’>>> ‘spam’ + ‘spam’‘spamspam’
Python interaction through commands
Anything you type in command area is evaluated and its value is displayed
• Example:
prompt
>>> print 5 + 38>>> print ‘spam’spam>>> ‘spam’ + ‘spam’‘spamspam’>>> print ‘spam’ + ‘spam’Spamspam
print displays the value of an expression
• In many cases it makes no difference whether you use print - the result gets displayed anyway.
Note: no quotes!
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.
Variables are names for data
Example:
a= 3
b= -1
c = 2
x = 0
f = a*x*x + b*x + c
Variables -more examples
• Variables of other typesnewsItem = “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
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
But what exactly is a function?
F(a,b)
4
‘a’ F(4, ‘a’)
side-effects
Functions in general
F(a,b)
4
‘a’ F(4, ‘a’)
side-effects
Example: sqrt()
sqrt(a)4 2
side-effects
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)
Example: pickAFile()
pickAFile() Filename (eg: C:\Documents and Settings\mpapalas\My Documents\greenroom.jpg)
Pops up a dialogbox for the user to
select a file
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()
Example: makePicture()
makePicture(filename)Picture object corresponding to
image that is saved in theFiletheFile
makePicture(filename)• creates and returns a picture object, from the JPEG file at the filename
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
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 picPicture, filename C:\Documents and Settings\mpapalas\Desktop\sample.jpg height 1200 width 1600>>> show(pic)
Writing a recipe: Making our own functions
def fcnName (input1, input2,...) :
block describing what the function should do return value
• 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
Writing a recipe: Making our own functions
def fcnName (input1, input2,...) :
block describing what the function should do return value
• 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
pickAFile()
Pops up a dialogbox for the user to
select a file
theFile
A recipe for displaying picked picture files
def pickAndShow(): theFile = pickAFile()
Defines a new function
pickAFile()
Pops up a dialogbox for the user to
select a file
makePicture(filename)pictheFile
A recipe for displaying picked picture files
def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile)
pickAFile()
Pops up a dialogbox for the user to
select a file
makePicture(filename)pictheFile
show(picture-obj)
Pops up a new window displaying image stored in the the picture object
A recipe for displaying picked picture files
def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic)
pickAFile()
Pops up a dialogbox for the user to
select a file
makePicture(filename)pictheFile
show(picture-obj)
Pops up a new window displaying image stored in the the picture object
A recipe for displaying picked picture files
def pickAndShow(): theFile = pickAFile() pic = makePicture(theFile) show(pic)
pickAndShow()
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.
Anything complicated is best done in the Program Area
Program Area
Command Area
Program area- A simple editor for programs
Command area- Interaction with Jython
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
Making functions the easy way
• Get something working by typing commands
• Enter the def command.
• Copy-paste the right commands up into the recipe
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
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.
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
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?
Reading
• Chapters 1, 2 from “Introduction to Computing and Programming in Python”
AssignmentCreate 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
top related