0% found this document useful (0 votes)
8 views50 pages

Python Unit 1 Class Notes

The document provides an overview of programming basics, focusing on concepts such as code, syntax, output, and the Python interpreter. It covers expressions, arithmetic operations, variable assignments, loops, and conditional statements, along with examples demonstrating their usage in Python. Additionally, it discusses data types, including integers, floating-point numbers, and strings, as well as built-in functions for mathematical operations.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views50 pages

Python Unit 1 Class Notes

The document provides an overview of programming basics, focusing on concepts such as code, syntax, output, and the Python interpreter. It covers expressions, arithmetic operations, variable assignments, loops, and conditional statements, along with examples demonstrating their usage in Python. Additionally, it discusses data types, including integers, floating-point numbers, and strings, as well as built-in functions for mathematical operations.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.

2
Compiling and interpreting
 Many languages require you to compile (translate) your program
into a form that the machine understands.
compile execute
source code byte code output
[Link] [Link]

 Python is instead directly interpreted into machine instructions.

interpret
source code output
[Link]

3
The Python Interpreter

•Python is an interpreted >>> 3 + 7


language
10
•The interpreter provides >>> 3 < 15
an interactive environment True
to play with the language
>>> 'print me'
Results of expressions are

'print me'
printed on the screen
>>> print 'print me'
print me
>>>
Expressions
 expression: A data value or set of operations to compute a value.
Examples: 1 + 4 * 3
42

 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

5
Integer division
 When we divide integers with / , the quotient is also an integer.
3 52
4 ) 14 27 ) 1425
12 135
2 75
54
21
 More examples:
 35 / 5 is 7
 84 / 10 is 8
 156 / 100 is 1

 The % operator computes the remainder from a division of integers.


3 43
4 ) 14 5 ) 218
12 20
2 18
15
3

6
Real numbers
 Python can also manipulate real numbers.
 Examples: 6.022 -15.9997 42.0 2.143e17

 The operators + - * / % ** ( ) all work for real numbers.


 The / produces an exact answer: 15.0 / 2.0 is 7.5
 The same rules of precedence also apply to real numbers:
Evaluate ( ) before * / % before + -

 When integers and reals are mixed, the result is a real number.
 Example: 1 / 2.0 is 0.5

 The conversion occurs on a per-operator basis.


 7 / 3 * 1.2 + 3 / 2
 2 * 1.2 + 3 / 2
 2.4 + 3 / 2
 2.4 + 1
 3.4

7
Math commands
 Python has useful commands (or called functions) for performing
calculations.
Constant Description
Command name Description
e 2.7182818...
abs(value) absolute value
pi 3.1415926...
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

 To use many of these commands, you must write the following at


the top of your Python program:
from math import * 8
Numbers: Floating Point

 int(x) converts x to >>> 1.23232


1.2323200000000001
an integer
>>> print 1.23232
 float(x) converts x 1.23232
to a floating point >>> 1.3E7
13000000.0
 The interpreter
>>> int(2.0)
shows 2
a lot of digits >>> float(2)
2.0
Variables
 variable: A named piece of memory that can store a value.
 Usage:
 Compute an expression's result,
 store that result into a variable,
 and use that variable later in the program.

 assignment statement: Stores a value into a variable.


 Syntax:
name = value

 Examples: x = 5
gpa = 3.14

x 5 gpa 3.14

 A variable that has been given a value can be used in expressions.


x + 4 is 9

 Exercise: Evaluate the quadratic equation for a given a, b, and c.


10
Example

>>> x = 7
>>> x
7
>>> x+7
14
>>> x = 'hello'
>>> x
'hello'
>>>
print
 print : Produces text output on the console.

 Syntax:
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
12
Example: print Statement

•Elements separated by
commas print with a space
between them >>> print 'hello'
•A comma at the end of the
hello
statement (print ‘hello’,) >>> print 'hello', 'there'
will not print a newline hello there
character
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

 Exercise: Write a Python program that prompts the user for


his/her amount of money, then reports how many Nintendo Wiis
the person can afford, and how much more money he/she will
need to afford an additional Wii.

14
Input: Example
print "What's your name?"
name = raw_input("> ")

print "What year were you born?"


birthyear = int(raw_input("> "))

print "Hi “, name, “!”, “You are “, 2016 – birthyear

% python [Link]
What's your name?
> Michael
What year were you born?
>1980
Hi Michael! You are 31
Repetition (loops)
and Selection (if/else)

16
The 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

17
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?

18
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.

19
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."

20
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:
statements

 Example:
gpa = 1.4
if gpa > 2.0:
print "Welcome to Mars University!"
else:
print "Your application is denied."

 Multiple conditions can be chained with elif ("else if"):


if condition:
statements
elif condition:
statements
else:
statements
21
Example of If Statements

import math
x = 30
>>> import ifstatement
if x <= 15 :
y = 0.999911860107
y = x + 15
>>>
elif x <= 30 :
y = x + 30 In interpreter
else :
y=x
print ‘y = ‘,
print [Link](y)

In file [Link]
while
 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

23
While Loops
>>> import whileloop
x=1 1
while x < 10 : 2
print x 3
x=x+1 4
5
6
 In [Link]
7
8
9
>>>
 In interpreter
Logic
 Many logical expressions use relational operators:
Operator Meaning Example Result
== equals 1 + 1 == 2 True
!= does not equal 3.2 != 2.5 True
< less than 10 < 5 False
> greater than 10 > 5 True
<= less than or equal to 126 <= 100 False
>= greater than or equal to 5.0 >= 5.0 True

 Logical expressions can be combined with logical operators:


Operator Example Result
and 9 != 6 and 2 < 3 True
or 2 == 3 or -1 < 5 True
not not 7 > 0 False

 Exercise: Write code to display and count the factors of a number.


25
Loop Control Statements

break Jumps out of the closest


enclosing loop

continue Jumps to the top of the closest


enclosing loop

pass Does nothing, empty statement


placeholder
More Examples For Loops
 Similar to perl for loops, iterating through a
list of values

for x in [1,7,13,2]: for x in range(5) :


[Link] print x [Link] print x

% python [Link]
%python [Link] 0
1 1
7 2
13 3
2 4

range(N) generates a list of numbers [0,1, …, n-1]


More Data Types

28
Everything is an object

 Everything means
>>> x = 7
everything, >>> x
including functions 7
and classes (more >>> x = 'hello'
on this later!) >>> x
'hello'
 Data type is a
>>>
property of the
object and not of
the variable
Numbers: Integers

 Integer – the
equivalent of a C long >>> 132224
 Long Integer – an 132224
unbounded integer >>> 132323 **
2
value. 17509376329L
>>>
Numbers: Floating Point

 int(x) converts x to >>> 1.23232


1.2323200000000001
an integer
>>> print 1.23232
 float(x) converts x 1.23232
to a floating point >>> 1.3E7
13000000.0
 The interpreter
>>> int(2.0)
shows 2
a lot of digits >>> float(2)
2.0
Numbers: Complex

 Built into Python


 Same operations are >>> x = 3 + 2j
>>> y = -1j
supported as integer
>>> x +y
and float (3+1j)
>>> x *y
(2-3j)
String Literals

 + is overloaded to do
concatenation >>> x = 'hello'
>>> x = x + ' there'
>>> x
'hello there'
String Literals
 Can use single or double quotes, and
three double quotes for a multi-line
string

>>> 'I am a string'


'I am a string'
>>> "So am I!"
'So am I!'
Substrings and Methods

•len(String) – returns the


>>> s = '012345' number of characters in
>>> s[3] the String
'3'
>>> s[1:4] •str(Object) – returns a
'123' String representation of
>>> s[2:] the Object
'2345'
>>> len(x)
>>> s[:4]
6
'0123'
>>>
>>> s[-2]
str(10.3)
'4'
'10.3'
String Formatting
 Similar to C’s printf
 <formatted string> % <elements to
insert>
 Can usually just use %s for everything,
it will convert the object to its String
representation.
>>> "One, %d, three" % 2
'One, 2, three'
>>> "%d, two, %s" % (1,3)
'1, two, 3'
>>> "%s two %s" % (1, 'three')
'1 two three'
>>>
Types for Data Collection
List, Set, and Dictionary

 List

 Ordered Pairs of values


 Unordered list
Lists
 Ordered collection of
data
>>> x = [1,'hello', (3 + 2j)]
 Data can be of
>>> x
different types [1, 'hello', (3+2j)]
 Lists are mutable >>> x[2]
(3+2j)
 Issues with shared
>>> x[0:2]
references and [1, 'hello']
mutability
 Same subset

operations as Strings
List Functions
 [Link](x)
 Add item at the end of the list.

 [Link](i,x)
 Insert item at a given position.

 Similar to a[i:i]=[x]

 [Link](x)
 Removes first item from the list with value x

 [Link](i)
 Remove item at position I and return it. If no index I is given then
remove the first item in the list.
 [Link](x)
 Return the index in the list of the first item with value x.

 [Link](x)
 Return the number of time x appears in the list

 [Link]()
 Sorts items in the list in ascending order

 [Link]()
 Reverses items in the list
Lists: Modifying Content

 x[i] = a reassigns >>> x = [1,2,3]


the ith element to the >>> y = x
value a >>> x[1] = 15
>>> x
 Since x and y point to
[1, 15, 3]
the same list object, >>> y
both are changed [1, 15, 3]
 The method append >>> [Link](12)
also modifies the list >>> y
[1, 15, 3, 12]
Lists: Modifying Contents
>>> x = [1,2,3]
 The method >>> y = x
append >>> z = [Link](12)
modifies the list >>> z == None
and returns True
None >>> y
[1, 2, 3, 12]
 List addition
>>> x = x + [9,10]
(+) returns a
>>> x
new list [1, 2, 3, 12, 9, 10]
>>> y
[1, 2, 3, 12]
>>>
Using Lists as Stacks
 You can use a list as a stack
>>> a = ["a", "b", "c“,”d”]
>>> a
['a', 'b', 'c', 'd']
>>> [Link]("e")
>>> a
['a', 'b', 'c', 'd', 'e']
>>> [Link]()
'e'
>>> [Link]()
'd'
>>> a = ["a", "b", "c"]
>>>
Tuples

 Tuples are immutable


versions of lists
 One strange point is >>> x = (1,2,3)
>>> x[1:]
the format to make a
(2, 3)
tuple with one >>> y = (2,)
element: >>> y
‘,’ is needed to (2,)
differentiate from the >>>

mathematical
expression (2)
Sets
 A set is another python data structure that is an unordered
collection with no duplicates.
>>> setA=set(["a","b","c","d"])
>>> setB=set(["c","d","e","f"])
>>> "a" in setA
True
>>> "a" in setB
False
Sets
>>> setA - setB
{'a', 'b'}
>>> setA | setB
{'a', 'c', 'b', 'e', 'd', 'f'}
>>> setA & setB
{'c', 'd'}
>>> setA ^ setB
{'a', 'b', 'e', 'f'}
>>>
Dictionaries

 A set of key-value pairs


 Dictionaries are mutable

>>> d= {‘one’ : 1, 'two' : 2, ‘three’ : 3}


>>> d[‘three’]
3
Dictionaries: Add/Modify
 Entries can be changed by assigning to
that entry
>>> d
{1: 'hello', 'two': 42, 'blah': [1, 2, 3]}
>>> d['two'] = 99
>>> d
{1: 'hello', 'two': 99, 'blah': [1, 2, 3]}

• Assigning to a key that does not exist


adds an entry
>>> d[7] = 'new entry'
>>> d
{1: 'hello', 7: 'new entry', 'two': 99, 'blah': [1, 2, 3]}
Dictionaries: Deleting Elements

 The del method deletes an element from a


dictionary

>>> d
{1: 'hello', 2: 'there', 10: 'world'}
>>> del(d[2])
>>> d
{1: 'hello', 10: 'world'}
Iterating over a dictionary

>>>address={'Wayne': 'Young 678', 'John': 'Oakwood 345',


'Mary': 'Kingston 564'}
>>>for k in [Link]():
print(k,":", address[k])

Wayne : Young 678


John : Oakwood 345
Mary : Kingston 564
>>>

>>> for k in sorted([Link]()):


print(k,":", address[k])

John : Oakwood 345


Mary : Kingston 564
Wayne : Young 678
>>>
Copying Dictionaries and Lists

 The built-in >>> l1 = [1] >>> d = {1 : 10}


list function >>> l2 = list(l1) >>> d2 = [Link]()
>>> l1[0] = 22 >>> d[1] = 22
will copy a list
>>> l1 >>> d
 The dictionary [22] {1: 22}
has a method >>> l2 >>> d2
called copy [1] {1: 10}
Data Type Summary
Integers: 2323, 3234L
Floating Point: 32.3, 3.1E2
Complex: 3 + 2j, 1j
Lists: l = [ 1,2,3]
Tuples: t = (1,2,3)
Dictionaries: d = {‘hello’ : ‘there’, 2 : 15}

 Lists, Tuples, and Dictionaries can store


any type (including other lists, tuples,
and dictionaries!)
 Only lists and dictionaries are mutable

 All variables are references

You might also like