Programming I - Intro to Python 
    GEOG 30323 
    January 23, 2024 
 
Programming in Hollywood 
VIDEO 
 
Programming in Hollywood 
 
Why code for data analysis? 
Automation 
Documentation and reproducibility 
Logical organization 
Marketability! 
 
 
A high-level ,
object-oriented , general purpose 
programming language 
Interpreted  rather than
compiled  
Rapidly becoming the language of choice for
introductory programming courses around the world 
 
 
Why Python? 
In Java, the classic “Hello World” program looks like this:
public  class  HelloWorld {  
 
     public  static  void  main ( String []  args)  {  
         System . out . println ( "Hello World" );  
     }  
 
}  
Whereas in Python, you just type:
 
Other options for data
analysis 
 
R (https://www.r-project.org/ ): programming language for
statistics, data analysis, and much more (and a personal favorite of
mine) 
Julia (http://julialang.org/ ): relatively new language for
technical computing that aims for high-level syntax and C-like
speed 
 
 
Python on the command line 
 
The Jupyter Notebook 
Browser-based notebooks for literate programming  
Evolved out of the IPython project 
Supports multiple languages; “home language” is Python 
 
 
Literate programming 
As defined by Donald Knuth:
Literate programming is a methodology that combines a programming
language with a documentation language… The main idea is to treat a
program as a piece of literature, addressed to human beings rather than
to a computer.
 
 
Markdown 
Tool to convert plain text to HTML; used for literate programming in
the Jupyter Notebook 
 
Example:
_This link_ is __truly__ must-see: [click here to view it!](http://personal.tcu.edu/kylewalker/) 
This link  is truly  must-see: click here to view
it! 
 
Sage words before we get
started… 
 
 
Numbers and strings 
At a basic level, Python can function like a calculator, or
concatenate strings: 
 
2  +  3  
# 5  
 
'x'  +  'y'  
# 'xy'  
Object type : the way in which the object is stored
(e.g. float, integer, string) 
Python is a dynamically typed  language, which means that
you don’t need to explicitly supply the object type 
 
 
Variables 
In programming, a variable  is a reference to some
other sort of information or quantity 
Variables are created through assignment  
 
Example:
 
Strings 
Strings, or textual representations of data, have a series of
special methods that allow for their manipulation 
 
Example:
 tcu =  'Texas Christian University'  
 tcu.swapcase() 
# 'tEXAS cHRISTIAN uNIVERSITY'  
 
Lists 
Data structure in Python for storing multiple values; enclosed in
brackets [] 
List elements do not need to all be of the same type (though you’ll
often want them to be) 
 
Example list: mylist = [2, 4, 6, 8, 10, 12]
 
Indexing and slicing 
Elements in Python can be accessed by position using
indexing ; covers characters in strings, objects in
lists, and much more 
Python indexing starts at 0 - meaning that the first element is
referenced with 0, the second with 1, and so
forth 
Slicing : extract subset a:b starting
with position a up to but not including 
position b 
 
 
Indexing and slicing 
Example:
 tcu[0 ] 
# 'T'  
 tcu[6 :15 ] 
# 'Christian'