Introduction to Programming with Python

Slides:



Advertisements
Similar presentations
Introduction to Python LinuxWorld - New York City - January 2002 Guido van Rossum Director of PythonLabs at Zope Corporation
Advertisements

Introduction to Python Week 15. Try It Out! Download Python from Any version will do for this class – By and large they are all mutually.
CS 100: Roadmap to Computing Fall 2014 Lecture 0.
Introduction to Programming with Python Marty Stepp University of Washington Special thanks to Scott Shawcroft, Ryan Tucker,
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
Strings, if/else, return, user input
Python Crash Course by Monica Sweat. Python Perspective is strongly typed, interpreted language is used to define scripts (Don't even need to define a.
JavaScript, Third Edition
INTRODUCTION TO PYTHON PART 4 – TEXT AND FILE PROCESSING CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
INTRODUCTION TO PYTHON PART 3 - LOOPS AND CONDITIONAL LOGIC CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
INTRODUCTION TO PYTHON PART 2 INPUT AND OUTPUT CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
INTRODUCTION TO PYTHON PART 1 CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
1 Introduction to Programming with Python. 2 Some influential ones: FORTRAN science / engineering COBOL business data LISP logic and AI BASIC a simple.
Fundamentals of Python: From First Programs Through Data Structures
Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.
Fundamentals of Python: First Programs
Introduction to Python Guido van Rossum Director of PythonLabs at Zope Corporation
Java Primitives The Smallest Building Blocks of the Language (corresponds with Chapter 2)
Introduction to Python Basics of the Language. Install Python Find the most recent distribution for your computer at:
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
CS190/295 Programming in Python for Life Sciences: Lecture 3 Instructor: Xiaohui Xie University of California, Irvine.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
Input, Output, and Processing
Chapter 2: Using Data.
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.
A Simple Java Program //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { public static void main(String[]
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
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.
1 Printing in Python Every program needs to do some output This is usually to the screen (shell window) Later we’ll see graphics windows and external files.
Introduction to Programming with Python
1 Introduction to Programming with Python: overview.
Chapter 14 JavaScript: Part II The Web Warrior Guide to Web Design Technologies.
If/else, return, user input, strings
Introduction to Programming Oliver Hawkins. BACKGROUND TO PROGRAMMING LANGUAGES Introduction to Programming.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
PYTHON PROGRAMMING. WHAT IS PYTHON?  Python is a high-level language.  Interpreted  Object oriented (use of classes and objects)  Standard library.
CompSci 230 S Programming Techniques
Topics Designing a Program Input, Processing, and Output
Topics Introduction to Functions Defining and Calling a Void Function
Ruby: An Introduction Created by Yukihiro Matsumoto in 1993 (named after his birthstone) Pure OO language (even the number 1 is an instance of a class)
Introduction to Python
Computing Fundamentals
Revision Lecture
The Selection Structure
Variables, Expressions, and IO
Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during.
Internet-of-Things (IoT)
Arithmetic operations, decisions and looping
Introduction to Python
Python Primer 2: Functions and Control Flow
Introduction to C++ Programming
Introduction to Python
T. Jumana Abu Shmais – AOU - Riyadh
CS 100: Roadmap to Computing
Introduction to programming with Python
Topics Designing a Program Input, Processing, and Output
Python Primer 1: Types and Operators
Compilers and Interpreters
Introduction to Programming with Python
CS190/295 Programming in Python for Life Sciences: Lecture 3
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Unit 3: Variables in Java
Introduction to Programming with Python
CS 100: Roadmap to Computing
Class code for pythonroom.com cchsp2cs
PYTHON - VARIABLES AND OPERATORS
Presentation transcript:

Introduction to Programming with Python By Ass. Noor Thamer

Tutorial Outline interactive "shell" basic types: numbers, strings container types: lists, dictionaries, tuples variables control structures functions & procedures

Python Python is newer. It is loosely typed language. It's runtime is slow. It's code are faster to write. It is really fun to write with its easier, and its rich features. As python is gaining levels really fast. Python is an easy to learn and powerful programming language as it is known in common parlance, there is nevertheless need of a good introduction and tutorial on the Python language.

Programming basics code or source code: The sequence of instructions in a program. syntax: The set of legal structures and commands that can be used in a particular programming language. output: The messages printed to the user by a program. console: The text box onto which output is printed. Some source code editors pop up the console as an external window, and others contain their own console window.

Compiling and interpreting Many languages require you to compile (translate) your program into a form that the machine understands. Python is instead directly interpreted into machine instructions. compile execute output source code Hello.java byte code Hello.class interpret output source code Hello.py

Expressions expression: A data value or set of operations to compute a value. Examples: 1 + 4 * 3 13 Arithmetic operators we will use: + - * / addition, subtraction/negation, multiplication, division % modulus, a.k.a. remainder ** exponentiation precedence: Order in which operations are computed. * / % ** have a higher precedence than + - 1 + 3 * 4 is 13 Parentheses can be used to force a certain order of evaluation. (1 + 3) * 4 is 16

print print : Produces text output on the console. Syntax: Examples: print ("Message“) print Expression Prints the given text message or expression value on the console, and moves the cursor down to the next line. print Item1, Item2, ..., ItemN Prints several messages and/or expressions on the same line. Examples: print ("Hello, world!“) age = 45 print "You have", 65 - age, "years until retirement" Output: Hello, world! You have 20 years until retirement

input input : Reads a number from user input. You can assign (store) the result of input into a variable. Example: age = input("How old are you? ") print ("Your age is", age) print ("You have", 65 - age, "years until retirement“) Output: How old are you? 53 Your age is 53 You have 12 years until retirement

Math commands Python has useful commands for performing calculations. To use many of these commands, you must write the following at the top of your Python program: from math import * Command name Description abs(value) absolute value ceil(value) rounds up cos(value) cosine, in radians floor(value) rounds down log(value) logarithm, base e log10(value) logarithm, base 10 max(value1, value2) larger of two values min(value1, value2) smaller of two values round(value) nearest whole number sin(value) sine, in radians sqrt(value) square root Constant Description e 2.7182818... pi 3.1415926...

Interactive “Shell” Great for learning the language Great for experimenting with the library Great for testing your own modules Two variations: IDLE (GUI), python (command line) Type statements or expressions at prompt: >>> print ("Hello, world“) Hello, world >>> x = 12**2 >>> x/2 72 >>> # this is a comment

Numbers The usual suspects C-style shifting & masking 12, 3.14, 0xFF, 0377, (-1+2)*3/4**5, abs(x), 0<x<=5 C-style shifting & masking 1<<16, x&0xff, x|1, ~x, x^y Integer division truncates :-( 1/2 -> 0 # 1./2. -> 0.5, float(1)/2 -> 0.5 Will be fixed in the future Long (arbitrary precision), complex 2L**100 -> 1267650600228229401496703205376L In Python 2.2 and beyond, 2**100 does the same thing 1j**2 -> (-1+0j)

Strings "hello"+"world" "helloworld" # concatenation "hello"*3 "hellohellohello" # repetition "hello"[0] "h" # indexing "hello"[-1] "o" # (from end) "hello"[1:4] "ell" # slicing len("hello") 5 # size "hello" < "jello" 1 # comparison "e" in "hello" 1 # search "escapes: \n etc, \033 etc, \if etc" 'single quotes' """triple quotes""" r"raw strings"

Lists Flexible arrays, not Lisp-like linked lists a = [99, "bottles of beer", ["on", "the", "wall"]] Same operators as for strings a+b, a*3, a[0], a[-1], a[1:], len(a) Item and slice assignment a[0] = 98 a[1:2] = ["bottles", "of", "beer"] -> [98, "bottles", "of", "beer", ["on", "the", "wall"]] del a[-1] # -> [98, "bottles", "of", "beer"]

More List Operations >>> a = range(5) # [0,1,2,3,4] >>> a.append(5) # [0,1,2,3,4,5] >>> a.pop() # [0,1,2,3,4] 5 >>> a.insert(0, 42) # [42,0,1,2,3,4] >>> a.pop(0) # [0,1,2,3,4] 5.5 >>> a.reverse() # [4,3,2,1,0] >>> a.sort() # [0,1,2,3,4]

Tuples key = (lastname, firstname) point = x, y, z # parentheses optional x, y, z = point # unpack lastname = key[0] singleton = (1,) # trailing comma!!! empty = () # parentheses! tuples vs. lists; tuples immutable

Variables No need to declare Need to assign (initialize) Not typed use of uninitialized variable raises exception Not typed if friendly: greeting = "hello world" else: greeting = 12**2 print greeting Everything is a "variable": Even functions, classes, modules

Reference Semantics Assignment manipulates references x = y does not make a copy of y x = y makes x reference the object y references Very useful; but beware! Example: >>> a = [1, 2, 3] >>> b = a >>> a.append(4) >>> print b [1, 2, 3, 4]

Changing a Shared List a 1 2 3 a = [1, 2, 3] a 1 2 3 b b = a a 1 2 3 a.append(4) 4 b

Changing an Integer a 1 a = 1 a 1 b = a b 2 a a = a+1 1 b new int object created by add operator (1+1) 2 a a = a+1 old reference deleted by assignment (a=...) 1 b

for… loop for loop: Repeats a set of statements over a group of values. Syntax: for variableName in groupOfValues: statements We indent the statements to be repeated with tabs or spaces. variableName gives a name to each value, so you can refer to it in the statements. groupOfValues can be a range of integers, specified with the range function. Example: for x in range(1, 6): print x, "squared is", x * x Output: 1 squared is 1 2 squared is 4 3 squared is 9 4 squared is 16 5 squared is 25

range The range function specifies a range of integers: range(start, stop) - the integers between start (inclusive) and stop (exclusive) It can also accept a third value specifying the change between values. range(start, stop, step) - the integers between start (inclusive) and stop (exclusive) by step Example: for x in range(5, 0, -1): print x print "Blastoff!" Output: 5 4 3 2 1 Blastoff! Exercise: How would we print the "99 Bottles of Beer" song?

Cumulative loops Some loops incrementally compute a value that is initialized outside the loop. This is sometimes called a cumulative sum. sum = 0 for i in range(1, 11): sum = sum + (i * i) print "sum of first 10 squares is", sum Output: sum of first 10 squares is 385 Exercise: Write a Python program that computes the factorial of an integer.

if if statement: Executes a group of statements only if a certain condition is true. Otherwise, the statements are skipped. Syntax: if condition: statements Example: gpa = 3.4 if gpa > 2.0: print "Your application is accepted."

if/else if/else statement: Executes one block of statements if a certain condition is True, and a second block of statements if it is False. Syntax: if condition: statements else: Example: gpa = 1.4 if gpa > 2.0: print ("Welcome to Mars University!“) print ("Your application is denied.“) Multiple conditions can be chained with elif ("else if"): elif condition:

while Syntax: Example: while loop: Executes a group of statements as long as a condition is True. good for indefinite loops (repeat an unknown number of times) Syntax: while condition: statements Example: number = 1 while number < 200: print (number, number = number * 2) Output: 1 2 4 8 16 32 64 128

Logic Operator Meaning Example Result == equals 1 + 1 == 2 True != Many logical expressions use relational operators: Logical expressions can be combined with logical operators: Exercise: Write code to display and count the factors of a number. Operator Meaning Example Result == equals 1 + 1 == 2 True != does not equal 3.2 != 2.5 < less than 10 < 5 False > greater than 10 > 5 <= less than or equal to 126 <= 100 >= greater than or equal to 5.0 >= 5.0 Operator Example Result and 9 != 6 and 2 < 3 True or 2 == 3 or -1 < 5 not not 7 > 0 False

Strings string: A sequence of text characters in a program. Strings start and end with quotation mark " or apostrophe ' characters. Examples: "hello" "This is a string" "This, too, is a string. It can be very long!" A string may not span across multiple lines or contain a " character. "This is not a legal String." "This is not a "legal" String either." A string can represent characters by preceding them with a backslash. \t tab character \n new line character \" quotation mark character \\ backslash character Example: "Hello\tthere\nHow are you?"

Indexes Characters in a string are numbered with indexes starting at 0: Example: name = "P. Diddy" Accessing an individual character of a string: variableName [ index ] print name, "starts with", name[0] Output: P. Diddy starts with P index 1 2 3 4 5 6 7 character P . D i d y

String properties len(string) - number of characters in a string (including spaces) str.lower(string) - lowercase version of a string str.upper(string) - uppercase version of a string Example: name = "Martin Douglas Stepp" length = len(name) big_name = str.upper(name) print big_name, "has", length, "characters" Output: MARTIN DOUGLAS STEPP has 20 characters

input input : Reads a string of text from user input. Example: name = input("Howdy, pardner. What's yer name? ") print (name, "... what a silly name!“) Output: Howdy, pardner. What's yer name? Paris Hilton Paris Hilton ... what a silly name!

Text processing text processing: Examining, editing, formatting text. often uses loops that examine the characters of a string one by one A for loop can examine each character in a string in sequence. Example: for c in "booyah": print (c) Output: b o y a h

File processing Many programs handle data, which often comes from files. Reading the entire contents of a file: variableName = open("filename").read() Example: file_text = open("bankaccount.txt").read()

Line-by-line processing Reading a file line-by-line: for line in open("filename").readlines(): statements Example: count = 0 for line in open("bankaccount.txt").readlines(): count = count + 1 print "The file contains", count, "lines." Exercise: Write a program to process a file of DNA text, such as: ATGCAATTGCTCGATTAG Count the percent of C+G present in the DNA.

Strings and numbers ord(text) - converts a string into a number. Example: ord("a") is 97, ord("b") is 98, ... Characters map to numbers using standardized mappings such as ASCII and Unicode. chr(number) - converts a number into a string. Example: chr(99) is "c"

Functions, Procedures def name(arg1, arg2, ...): """documentation""" # optional doc string statements return # from procedure return expression # from function

Example Function def gcd(a, b): "greatest common divisor" while a != 0: a, b = b%a, a # parallel assignment return b >>> gcd.__doc__ 'greatest common divisor' >>> gcd(12, 20) 4

Classes class name: "documentation" statements -or- class name(base1, base2, ...): ... Most, statements are method definitions: def name(self, arg1, arg2, ...): May also be class variable assignments

Example Class class Stack: "A well-known data structure…" def __init__(self): # constructor self.items = [] def push(self, x): self.items.append(x) # the sky is the limit def pop(self): x = self.items[-1] # what happens if it’s empty? del self.items[-1] return x def empty(self): return len(self.items) == 0 # Boolean result

Using Classes To create an instance, simply call the class object: x = Stack() # no 'new' operator! To use methods of the instance, call using dot notation: x.empty() # -> 1 x.push(1) # [1] x.empty() # -> 0 x.push("hello") # [1, "hello"] x.pop() # -> "hello" # [1] To inspect instance variables, use dot notation: x.items # -> [1]

URLs http://www.python.org http://starship.python.net official site http://starship.python.net Community http://www.python.org/psa/bookstore/ (alias for http://www.amk.ca/bookstore/) Python Bookstore

TIME FOR QUESTIONS