Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CS602 – - Data-Driven Development with Python–Fall’22

Handout 1

Introduction to Python programming language.

Data types and operations.

Input/output operations.

Python a general-purpose programming language

•    Created in 1990 by Guido van Rossum, in Netherlands

•    Interpreted language, originally created as a middle-ground between scripting languages and C

•    The core of the standard interpreter is implemented in C

•    Quickly gained popularity, volunteers built multiple packages extending language capabilities

•    Developed and maintained by volunteers, distributed for free by Python Software Foundation

Python 2 and Python 3 are two different versions not compatible with each other.

1 We will use Python 3, although it is possible to have both versions installed on your computer.

Illustration byJake VanderPlas

Important features of Python

•    Interpreted

•    Easily extendable

•    Very versatile

•    ‘easy to use’

•    Uses whitespace to structure code

•    Every data value is an object

•    Currently supports

1 Procedural programming

1 Object-oriented programming

1 Functional programming

FIRST EXAMPLE

'''

Created on Aug 27, 2018 by tbabaian

Simple example program for the first class.

Converts temperature in degrees Fahrenheit to Celsius according to the formula TC = (TF -32)* 5/9

'''

print ( 'This program converts temperature in degrees Fahrenheit to degrees Celcius')

fahStr = input( 'Please enter an integer number of degrees F ')

fah = eval(fahStr) # evaluate the string, will convert input string into a number

celcius = (fah - 32) * 5 / 9

print (fah, 'degrees F equals ', celcius, ' degrees C')

Components of the program

Comments:  # for a single line, till the end of line

''' paragraph-comments

Start a multiple line comment with three quotations

End it with three quotations

'''

Identifiers: names for elements in a program, including functions, variables, classes, etc…

•    Must not start with a digit

•    Can’t be a keyword :  word that has a meaning in the language, such as int or def

•     Can’t include spaces,  punctuation symbols

•    Are case sensitive: x is not the same as X! Punctuation and other grammar

1 Python is sensitive to white space indentation is used to indicate nesting of blocks (where other languages use {} or other blog begin-end statements)     Statements in the same block must be indented in the same way.

Outer block is not indented.

1 a “;” is  needed to indicate the end of a statement only if there are multiple statements on the same line, e.g.

a = 4; b = 5

1 \ is a line continuation symbol

Variable - is a named location to store data

•   all Python variables are pointers

•   Python is dynamically typed, meaning a variable type is not declared, it is dynamically inferred based on the value it points to, and a variable can be assigned any type of values at any point.

o Avoid changing the type of value stored in a variable to avoid errors!

DATA TYPES AND VALUES

Python has a range of built-in types.

Numeric built-in types: int, float, complex

have no range limit, i.e. can represent an arbitrary large or small number. Text built-in type: str

Boolean values: True, False

-  But other values can be used to indicate False, including 0 and None

Sequence types: list, tuple, range

list mutable heterogeneous collection

tuple immutable heterogeneous collection

range - immutable sequence of numbers and is commonly used for looping

'''Created on Aug 27, 2018 @author: TBABAIAN

Demo of built-in types'''

# numeric types: int, float, complex

print (3, 'has type', type(3))

print (-4.5 , 'has type', type(-4 .5))

print (complex(3,4), 'has type', type ( complex(3,4) ))

# have no range limit

a = 30000000000000000000000000000+1

print (a, 'has type', type(a))

print (1/a, 'has type' , type(1/a))

print ( '\nStrings ---------------------------------------------------- ')

# str type

print (type( 'abc '))

print (type( 'a'))

print (type("also a string"))

print ( '\nSequences ------------------------------------------------ ')

# sequence types: list, tuple range

lst = [a, 'b', 4 .3, -9]

lst [3] = 55 #lists are mutable, i.e. can be changed

print (lst, ' has type ', type(lst))

tpl = (3, 7 , 'foo')

print (tpl, ' has type ', type(tpl))

r = range(20, 30, 2)

ASSIGNMENT OPERATOR =

Used to set, or assign a variable is to store a given value in the location denoted by the variable name . Not the same as equality in algebra, It means -

Store the value of the expression on the right side to the variable on the left side.

Can have any expression on the right hand side of =

x = 1       # Assign 1 to x

x = x + 1

i = j = k = 1

Simultaneous assignment: var1 , var2, ..., varn = exp1, exp2, ..., expn means: var1 = exp1; var2 = exp2; …varn=expn

x,y = 1, 3

x,y = y, x

# Assign 1 to x, 3 to y

# Swap values stored in x and y

KEYBOARD INPUT

input(‘prompt’) – input function, displays prompt specified as a parameter and returns the string of characters entered by the user.

To convert user input from str to another type, use

-  eval function, or

-  Type conversion.

Examples:

1.

fahStr = input( 'Please enter an integer number of degrees F ') fah = eval(fahStr)  # convert input string into a number

2.

fahStr = input( 'Please enter an integer number of degrees F ') fah = int(fahStr)  # convert input string into a number

ARITHMETIC OPERATORS:

+, -, *, /, //, %, ( ), **

(1) integer division: results from dividing one int by another.  Returns whole number quotient, ignoring remainder (truncates).

21 // 4 = ?             7 // 2 = ?

(2) % : modulus, or remainder.

21 % 4 = ?              8 % 2 = ?

(3) ** - exponentiation.

3** 2 = ?

Practice: what is the value of z in the following?

x = 7; y = 3;

z = (x//y)*y + x%y

Order of precedence (elements in the same row have the same precedence): ()

+(unary)  – (unary)

*          /                //            %

+          -

= (assignment)

Relational Operators: also called Comparison Operators.

Use them for making decisions: True or False for outcome.

Include :   >    < >=    <= == !=

'''Created on Aug 27, 2018 @author: TBABAIAN

Demonstrating comparison operators '''

print ( '---comparison of numbers---------------------------- ')

i = 5; j =9;

print (i > j);