0% found this document useful (0 votes)
153 views

Python Application Programming 18CS752: Dr. Priya Kamath

Uploaded by

Jeethan
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views

Python Application Programming 18CS752: Dr. Priya Kamath

Uploaded by

Jeethan
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

PYTHON APPLICATION

PROGRAMMING
18CS752
Dr. Priya Kamath
Associate Professor, Department of CSE

M.Tech –CSE (MIT, Manipal), Ph.D – NITK-Surathkal


Course Learning Objectives:
• Learn Syntax and Semantics and create Functions in Python.
• Handle Strings and Files in Python.

• Understand Lists, Dictionaries and Regular expressions in Python.

• Implement Object Oriented Programming concepts in Python

• Build Web Services and introduction to Network and Database


Programming in Python
Course Syllabus
•Module 1: Why should you learn to write programs,
Variables, expressions and statements, Conditional execution,
Functions

•Module 2: Iteration, Strings, Files

•Module 3: Lists, Dictionaries, Tuples, Regular Expressions

•Module 4: Classes and objects, Classes and functions,


Classes and methods

•Module 5: Networked programs, Using Web Services, Using


databases and SQL
Text Books
•Charles R. Severance, “Python for Everybody: Exploring
Data Using Python 3”, 1 st Edition, CreateSpace
Independent Publishing Platform, 2016.

•Allen B. Downey, "Think Python: How to Think Like a


Computer Scientist”, 2nd Edition, Green Tea Press, 2015.
Why Program?
Chapter 1

Python for Everybody


www.py4e.com
Computers Want to be Helpful...
What
• Computers are built for one purpose - to Next?
do things for us

• But we need to speak their language to


describe what we want done

• Users have it easy - someone already put What What What


many different programs (instructions) into Next? Next? Next?
the computer and users just pick the ones
they want to use What What What
Next? Next? Next?
Users vs. Programmers
• Users see computers as a set of tools - word processor, spreadsheet, map,
to-do list, etc.

• Programmers learn the computer “ways” and the computer language

• Programmers have some tools that allow them to build new tools

• Programmers sometimes write tools for lots of users and sometimes


programmers write little “helpers” for themselves to automate a task
Why be a Programmer?
User

Computer
Programmer
Hardware + Software

Data Information .... Networks


What is Code? Software? A Program?
• Program: Sequence of statements that have been crafted to do
something.
• Programming is the process of creating a program that follows
certain standards and performs a certain task.
• Coding is a part of programming that deals with writing code that a
machine can translate.
• Software consists of set of instructions that are designed to perform
well defined functions and allows users to perform specific task.
Hardware Architecture
http://upload.wikimedia.org/wikipedia/commons/3/3d/RaspberryPi.jpg
Generic
Computer
Input Central
and Output Processing
Devices Unit
Secondary
Memory

Main
Memory
Definitions
• Central Processing Unit: Runs the Program - The CPU is always wondering
“what to do next”. Not the brains exactly - very dumb but very very fast

• Input Devices: Keyboard, Mouse, Touch Screen

• Output Devices: Screen, Speakers, Printer, DVD Burner

• Main Memory: Fast small temporary storage - lost on reboot - aka RAM

• Secondary Memory: Slower large permanent storage - lasts until deleted - disk
drive / memory stick
Generic
Software What
Next? Computer
Input Central
and Output Processing
Devices Unit
Secondary
if x< 3: print Memory

Main
Memory
Generic
Software What
Next? Computer
Input Central
and Output Processing
Devices Unit
01001001 Secondary
00111001 Memory

Main
Memory
Machine
Language
Talking to Python
csev$ python3
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwinType
"help", "copyright", "credits" or "license" for more information.
>>> x = 1
>>> print(x)
1
>>> x = x + 1 This is a good test to make sure that you have
>>> print(x) Python correctly installed. Note that quit() also
2 works to end the interactive session.
>>> exit()
What Do We Say?
Elements of Python
• Vocabulary / Words - Variables and Reserved words (Chapter 2)

• Sentence structure - valid syntax patterns (Chapters 3-5)

• Story structure - constructing a program for a purpose


name = input('Enter file:')
handle = open(name)
A short “story”
counts = dict() about how to count
for line in handle:
words = line.split() words in a file in
for word in words:
counts[word] = counts.get(word,0) + 1
Python

bigcount = None python words.py


bigword = None
for word,count in counts.items():
Enter file: words.txt
if bigcount is None or count > bigcount: to 16
bigword = word
bigcount = count

print(bigword, bigcount)
Reserved Words
You cannot use reserved words as variable names / identifiers

False class return is finally


None if for lambda continue
True def from whilenonlocal
and del global not with
as elif try or yield
assert else import pass
break except in raise
Sentences or Lines

x=2 Assignment statement


x=x+2 Assignment with expression
print(x) Print statement

Variable Operator Constant Function


Programming Paragraphs
Python Scripts
• Interactive Python is good for experiments and programs of 3-4 lines
long.

• Most programs are much longer, so we type them into a file and tell
Python to run the commands in the file.

• In a sense, we are “giving Python a script”.

• As a convention, we add “.py” as the suffix on the end of these files to


indicate they contain Python.
Interactive versus Script

• Interactive

- You type directly to Python one line at a time and it responds

• Script

- You enter a sequence of statements (lines) into a file using a text


editor and tell Python to execute the statements in the file
Program Steps or Program Flow
• Like a recipe or installation instructions, a program is a sequence of
steps to be done in order.

• Some steps are conditional - they may be skipped.

• Sometimes a step or group of steps is to be repeated.

• Sometimes we store a set of steps to be used over and over as


needed several places throughout the program (Chapter 4).
Sequential Steps
x=2 Program:
Output:
print(x) x=2
print(x) 2
x=x+2 x=x+2 4
print(x)
print(x)

When a program is running, it flows from one step to the next. As


programmers, we set up “paths” for the program to follow.
x=5
Conditional Steps
Yes
x < 10 ?

print('Smaller') Program:
No Output:
x=5
Yes if x < 10: Smaller
x > 20 ? print('Smaller') Finis
if x > 20:
print('Bigger') print('Bigger')
No
print('Finis')

print('Finis')
n=5 Repeated Steps
No Yes Output:
n>0? Program:
5
print(n) n=5 4
while n > 0 :
3
print(n)
n = n -1 n=n–1 2
print('Blastoff!') 1
Blastoff!
Loops (repeated steps) have iteration variables that
print('Blastoff')
change each time through a loop.
name = input('Enter file:')
handle = open(name, 'r') Sequential
Repeated
counts = dict()
for line in handle: Conditional
words = line.split()
for word in words:
counts[word] = counts.get(word,0) + 1

bigcount = None
bigword = None
for word,count in counts.items():
if bigcount is None or count > bigcount:
bigword = word
bigcount = count

print(bigword, bigcount)
name = input('Enter file:') A short Python “Story”
handle = open(name, 'r') about how to count
counts = dict()
words in a file
for line in handle:
words = line.split() A word used to read
for word in words: data from a user
counts[word] = counts.get(word,0) + 1

bigcount = None A sentence about


bigword = None updating one of the
for word,count in counts.items(): many counts
if bigcount is None or count > bigcount:
bigword = word
bigcount = count A paragraph about how
to find the largest item
print(bigword, bigcount) in a list
Types of Errors
•Syntax errors
• “Grammatical errors”
• Easiest to fix

•Logical errors
• Mistake in the order of the statements or how they are related to each other

•Semantic errors
• When t

• he program doesn’t do what it is intended for


Debugging Errors
•Reading

•Running

•Ruminating- Think and determine what type of error it is

•Retreating- Go back to the last saved state of the program


that works perfectly
Acknowledgements / Contributions
These slides are Copyright 2010- Charles R. Severance (
Continue…
www.dr-chuck.com) of the University of Michigan School of
Information and made available under a Creative Commons
Attribution 4.0 License. Please maintain this last slide in all
copies of the document to comply with the attribution
requirements of the license. If you make a change, feel free to
add your name and organization to the list of contributors on this
page as you republish the materials.

Initial Development: Charles Severance, University of Michigan


School of Information

… Insert new Contributors and Translators here

You might also like