Introduction to Programming Oliver Hawkins. BACKGROUND TO PROGRAMMING LANGUAGES Introduction to Programming.

Slides:



Advertisements
Similar presentations
Python Syntax. Basic Python syntax Lists Dictionaries Looping Conditional statements.
Advertisements

CS 100: Roadmap to Computing Fall 2014 Lecture 0.
Lists CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
String and Lists Dr. Benito Mendoza. 2 Outline What is a string String operations Traversing strings String slices What is a list Traversing a list List.
Lists Introduction to Computing Science and Programming I.
Python November 14, Unit 7. Python Hello world, in class.
Introduction to Python
Programming Concepts MIT - AITI. Variables l A variable is a name associated with a piece of data l Variables allow you to store and manipulate data in.
Python Control of Flow.
Lilian Blot CORE ELEMENTS COLLECTIONS & REPETITION Lecture 4 Autumn 2014 TPOP 1.
Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.
Introduction to Python Guido van Rossum Director of PythonLabs at Zope Corporation
Announcements Project 2 Available Tomorrow (we will send mail) Will be due 11:59PM October 9 th (Sunday) Week 6 ( I will be traveling this week) Review.
Introduction to Python
Introduction to Python Basics of the Language. Install Python Find the most recent distribution for your computer at:
Data Structures in Python By: Christopher Todd. Lists in Python A list is a group of comma-separated values between square brackets. A list is a group.
Handling Lists F. Duveau 16/12/11 Chapter 9.2. Objectives of the session: Tools: Everything will be done with the Python interpreter in the Terminal Learning.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational operators – Discover.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
Input, Output, and Processing
Collecting Things Together - Lists 1. We’ve seen that Python can store things in memory and retrieve, using names. Sometime we want to store a bunch of.
Lists CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Built-in Data Structures in Python An Introduction.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Introducing Python CS 4320, SPRING Resources We will be following the Python tutorialPython tutorial These notes will cover the following sections.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
Python uses boolean variables to evaluate conditions. The boolean values True and False are returned when an expression is compared or evaluated.
Introduction to Python and programming Ruth Anderson UW CSE 140 Winter
CSC 110 Using Python [Reading: chapter 1] CSC 110 B 1.
Introducing Python CS 4320, SPRING Lexical Structure Two aspects of Python syntax may be challenging to Java programmers Indenting ◦Indenting is.
Python Primer 1: Types and Operators © 2013 Goodrich, Tamassia, Goldwasser1Python Primer.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before you program Rule 2: A program is a human-readable set.
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
Jim Havrilla. Invoking Python Just type “python –m script.py [arg]” or “python –c command [arg]” To exit, quit() or Control-D is used To just use the.
By Austin Laudenslager AN INTRODUCTION TO PYTHON.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
1 CS 177 Week 6 Recitation Slides Review for Midterm Exam.
CS190/295 Programming in Python for Life Sciences: Lecture 6 Instructor: Xiaohui Xie University of California, Irvine.
LISTS and TUPLES. Topics Sequences Introduction to Lists List Slicing Finding Items in Lists with the in Operator List Methods and Useful Built-in Functions.
Python Basics  Values, Types, Variables, Expressions  Assignments  I/O  Control Structures.
Python Arithmetic Operators OperatorOperationDescription +AdditionAdd values on either side of the operator -SubtractionSubtract right hand operand from.
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
PROGRAMMING USING PYTHON LANGUAGE ASSIGNMENT 1. INSTALLATION OF RASPBERRY NOOB First prepare the SD card provided in the kit by loading an Operating System.
Today… Operators, Cont. Operator Precedence Conditional Statement Syntax. Winter 2016CISC101 - Prof. McLeod1.
String and Lists Dr. José M. Reyes Álamo. 2 Outline What is a string String operations Traversing strings String slices What is a list Traversing a list.
PYTHON PROGRAMMING. WHAT IS PYTHON?  Python is a high-level language.  Interpreted  Object oriented (use of classes and objects)  Standard library.
 Type Called bool  Bool has only two possible values: True and False.
Introduction to python programming
String and Lists Dr. José M. Reyes Álamo.
G. Pullaiah College of Engineering and Technology
Introduction to Python
Computer Programming Fundamentals
Containers and Lists CIS 40 – Introduction to Programming in Python
Basic operators - strings
Variables, Expressions, and IO
Introduction to Scripting
Functions CIS 40 – Introduction to Programming in Python
CS190/295 Programming in Python for Life Sciences: Lecture 6
String and Lists Dr. José M. Reyes Álamo.
Python Tutorial for C Programmer Boontee Kruatrachue Kritawan Siriboon
Python Primer 1: Types and Operators
Python Basics with Jupyter Notebook
Introduction to Computer Science
Class code for pythonroom.com cchsp2cs
COMPUTING.
Introduction to PYTHON
Introduction to Computer Science
Selamat Datang di “Programming Essentials in Python”
Presentation transcript:

Introduction to Programming Oliver Hawkins

BACKGROUND TO PROGRAMMING LANGUAGES Introduction to Programming

Some languages used for data analysis Python R Julia JavaScript Stata

Why Python? Data analysispandas Statistics numpy, scipy Machine learningscikit-learn Databasessqlite3 (and many others) Downloadingrequests CSVscsv JSONjson Visualisationmatplotlib, seaborn, ggplot, bokeh

Python 2 and 3 Python 2 is older and more established Python 3 is newer and better They are not compatible Learn and use Python 3 Use Python 2 only if necessary

Python distributions A Python distribution is a collection of tools for working with Python … Python interpreter Python packages (libraries) Python shell Some distributions: Anaconda, Canopy, Winpython

Before we begin... This tutorial is aimed at getting you started. Its purpose it to introduce you to the core concepts of programming with Python. It is not comprehensive. It is simplified. Think of it as a map that will introduce you to the territory and help you to explore it further.

Programming is experimental Model How you think the program works Theory What effect changing the code will have Experiment Try changing the code Result Success  New theory Failure  Revise model  New theory

Online Python interpreter

Learn by experiment Load the Python 3 interpreter at repl.it in a browser. As we go through the slides try typing the lines of code into the interpreter. Hit enter after each line. Look at the output and inspect the variables to check what is happening.

VARIABLES, TYPES, AND OPERATORS Introduction to Programming

Variables and assignment A variable is a container that stores a value … # Assigning a value to a variable a = 1 b = "hello" # Print the contents of a variable with print() print(a) print(b)

Data types Python is a dynamically-typed language … # Basic data types a = 1# int (integer) b = 1.0# float (floating point number) c = "1"# str (string) d = True# bool (boolean) # Use type() to find out a variable’s type type(a)

Operators You can combine variables with operators … # Addition operator x = 1 y = 2 z = x + y# z = 3

Operators The arithmetic operators are … +addition subtraction2 - 2 * multiplication2 * 2 / division2 / 2 **exponent2**2 % modulus2 % 2

Operators Operators do different things depending on the variable type … # Concatenation operator x = "1" y = "2" z = x + y # z = "12"

Operators and types If you combine variables of different types sometimes Python will know what to do … 3 / 2.0# This returns / 2# This also returns 1.5 And sometimes it won’t … 1 + "2"# This returns an error

Casting variables You can convert a variable between types by casting it to a different type … # Cast a string to an integer 1 + int("2")# Returns 3 # Cast an integer to a string str(1) + "2"# Returns “12”

COLLECTIONS Introduction to Programming

Lists A list is an ordered collection of data items. # Declaring a list a = [1, 2, 3, 4, 5] # Use len() to get the number of items len(a)

Lists You can get a particular item from a list by using its index. Lists are indexed from zero … # Indexing a list a[0]# Returns 1 a[1]# Returns 2 a[5]# Returns an error: out of range

Lists You can add items to a list with append … # Create an empty list b = [] # Append an item to it b.append(1)

Lists You can remove items from lists using the del statement … # Remove the item at the given index del a[0]

Tuples Tuples are another type of sequence. They are similar to lists in that they can be indexed by position, but they cannot be changed. Declare a tuple with a comma separated list … t = 1,2,3,4# Declare a tuple print(t[0])# Print the first item

Unpacking Lists and tuples can be unpacked into individual variables … myList = [1,2] myTuple = 3,4 a, b = myList# a = 1, b = 2 c, d = myTuple# c = 3, d = 4

Dictionaries Dictionaries are a collection of data items stored as key:value pairs. # Declaring a dictionary d = {"name": "Alice", "age": 5} # Use len() to get the number of k:v pairs len(d)

Dictionaries You can get a particular item from a dictionary by indexing with the relevant key … # Indexing a dictionary d["name"]# Returns "Alice" d["age"]# Returns 5 d["hobby"]# Returns an error: # key does not exist

Dictionaries You can add items to a dictionary by assigning a new key and value … # Create an empty dictionary e = {} # Add an item to it e["name"] = "Ben" e["age"] = 2 e["hobby"] = "Lego"

Dictionaries You can remove items from dictionaries using the del statement … # Remove the item with the given key del e["hobby"]

Values and references Look at this difference between how numbers and lists work … # Numbers# Lists a = 2a = [1, 2, 3]b = a a = a + 1a.append(4) # a = 3# a = [1, 2, 3, 4] # b = 2# b = [1, 2, 3, 4]

Values and references Number variables appear to receive a value – a number is copied from one variable to another List variables appear to receive a reference – a reference to the list is copied from one variable to another, but both references point to the same list

Values and references Some types behave as values and some behave as references. Generally speaking … – More basic types behave as values* – More complicated types behave as references * In practice basic types also use references. But as numbers, strings, and tuples cannot be changed they behave like values, because when you modify them you create new instances.

CONTROL FLOW Introduction to Programming

Conditional statements Use an if statement to execute code only in certain circumstances … # If x is True print "hello" if x: print("hello") Note that the print call is indented, using spaces or tabs. Whitespace is used to structure the code.

Conditional statements If statements execute code if the condition evaluates to True. You can use these operators to compare values in an if statement … == equal !=not equal <less than > greater than <= less than or equal to >= greater than or equal to

Conditional statements Some example comparisons … x < 10 y > 0 z < len(myList) s == "a particular string" s != "a particular string" But the condition in an if statement doesn't have to be a comparison, it can be any expression that evaluates to True or False.

Conditional statements You can test multiple conditions in an if statement using the and operator and the or operator … if x > 0 and x < 10: if s == "this string" or s == "that string":

Conditional statements Use an if-else statement to execute different code in mutually exclusive circumstances … if x < 0: # Do this if x is a negative number else: # Do this if x is zero or positive

Conditional statements You can chain conditional tests using elif … if x == 0: # Do this if x is zero elif x == 1: # Do this if x is one else: # Do this if x is any other value

Loops Loop statements let you execute the same block of code over and over, until a condition is met. Loops are typically used to process data one value (or one group of values) at a time. There are different types of loops: while loops and for loops.

While loops This is a while loop … x = 0# Set x to zero while x < 10:# Is x less than ten? If so … print(x)# Print x x = x + 1# Add one to x The code inside the loop is run until x is greater than nine. So the code prints integers from zero to nine.

While loops You can use a while loop to loop through a list … myList = ["a", "b", "c"]# Declare a list i = 0# Set i to zero n = len(myList)# Set n to list length while i < n:# Is i less than n? print(myList[i])# Print item at index i i = i + 1# Add one to i

For loops But it's much easier to use a for loop in Python … myList = ["a", "b", "c"]# Declare a list for x in myList:# For each item in list print(x)# Print item for loops give you each item in a sequence. You can use them to loop through dictionaries too by getting the dictionary data as a sequence.

For loops You can get data from dictionaries as sequences using keys(), values() and items()... d = {"name": "Alice", "age": 5} d.keys()# ["age", "name"] d.values()# [5, "Alice"] d.items()# [('age', 5), ('name', 'Alice')] The items() method gives you the key:value pairs as a list of tuples.

For loops This code loops over all the keys in a dictionary and prints the key and value for each key … for key in d.keys():# For each key print(key, d[key])# Print k, v pair Dictionaries are not intrinsically ordered. If you need to loop over a dictionary's items in a particular order, sort the keys accordingly.

FUNCTIONS Introduction to Programming

Functions Functions are discrete units of code that perform a particular task. We have already seen some built-in functions. – The print() function prints the value of a variable to the output: print("a string") – The len() function returns the length of a list, tuple, or dictionary: len(myList)

Functions You can define your own functions with the def keyword … def myFunction(): print("this is my function") Now when you call myFunction() in the interpreter it will print: "this is my function"

Functions Functions can take arguments. These are values you can pass into the function when you call it. def hello(name): print("hello " + name) Now call: hello("world")

Functions You can return values from a function … def double(x): y = x * 2# Multiply x by two return y # Return the new value Now call: double(4)

Putting it all together This function takes a list of numbers and returns a list containing only the even numbers … def getEvenNumbers(numbers): evens = [] for x in numbers: if x % 2 == 0: evens.append(x) return evens Now call: getEvenNumbers([1,2,3,4,5])

Congratulations You just did some programming! ^_^

Where to learn more The Python Tutorial (official introduction) Code Club Code Academy Future Learn