Download Slides - Edwards Lab

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Introduction to Python
BCHB524
Lecture 1
BCHB524 - Edwards
Outline

Why Python?

Installation

Hello World

Simple Numbers
BCHB524 - Edwards
Why Python?










Free
Portable
Object-oriented
Clean syntax
Dynamic
Scientific, Commercial
Support libraries
Extensible
Interactive
Modern
BCHB524 - Edwards
http://xkcd.com/353/
Why Python for Bioinformatics?

Good with





BioPython


Strings
Files and Formats
Web and Databases
Objects and Concepts
Good support for bioinformatics data-formats
NumPy, SciPy, Matplotlib

Good support for scientific computing
BCHB524 - Edwards
Programming Environment

VirtualBox



BCHB524 Linux (Fall 2016) “Appliance” (.ova)




EPD Free 2.7 installed
Python with scientific computing packages
IDLE Python Editor


Use File -> Import Appliance in VirtualBox
Account: student/password
Enthought Python Distribution


Virtual machine “player”
Installers for Windows, iOS, Linux provided
Consistent across platforms, simple
Command-line Execution
BCHB524 - Edwards
Programming Environment
BCHB524 - Edwards
Programming Environment
BCHB524 - Edwards
Hello World!
# Output Hello World to the terminal
print "Hello World!"
print "Hello Georgetown!"
print 'Hello Everyone'

Paste “special” (Alt-V) into IDLE, save as
“lec1.py”
BCHB524 - Edwards
Hello World!

Start the terminal, type “python lec1.py”
BCHB524 - Edwards
Experiment with Hello World








Quotes: single or double? mixed?
How to change the order of output?
What does the red line do?
How to change what is printed? Add or remove?
What happens if you misspell print?
What happens if you forget a quote?
What happens if you forget a #?
Do the blank lines matter?
BCHB524 - Edwards
Lessons




Statements are executed from top to bottom
Single or double quotes – either works as
long as they match
Comments (#) are ignored, so use to explain
Syntax error means something is wrong



Sometimes the colors will help
But not necessarily at the exact position indicated.
Blank lines don’t matter, so use them for
readability
BCHB524 - Edwards
Simple Numbers
# Program input
cars = 100
people_per_car = 4
drivers = 30
passengers = 90
# Compute the dependent values
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * people_per_car
average_people_per_car = ( drivers + passengers ) / cars_driven
people_in_last_car = ( drivers + passengers - 1 ) % people_per_car + 1
# Output the results
print "There are", cars, "cars available."
print "There are only", drivers, "drivers available."
print "There will be", cars_not_driven, "empty cars today."
print "We can transport", carpool_capacity, "people today."
print "We have", passengers, "to carpool today."
print "We need to put about", average_people_per_car, "in each car."
print "There are", people_in_last_car, "people in the last car."
BCHB524 - Edwards
Experiment with Simple
Numbers







What names can we use to store values?
What values can we store?
What happens if we change a “variable” name?
What happens if we change the statement
order?
How do we print out numbers? By themselves?
What happens if we change the input values?
Are there values that produce strange
answers?
BCHB524 - Edwards
Lessons

Variables store values for later use






We can use whatever name makes sense
Letters, numbers, and _
Can store explicit numbers or the result of
arithmetic
If you change the name in one place, you have
to change it everywhere.
You must store a value before you use the
variable.
The result of math with integers is an integer
BCHB524 - Edwards
Exercises

Get the programming environment set up.

Make sure you can run the programs
demonstrated in lecture.
BCHB524 - Edwards