Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before...

42
Introduction to Python Dr. José M. Reyes Álamo

Transcript of Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before...

Page 1: 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.

Introduction to Python

Dr. José M. Reyes Álamo

Page 2: 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.

2

Three Rules of Programming

• Rule 1: Think before you program

• Rule 2: A program is a human-readable set of instructions that solve a problem and can be executed on a computer

• Rule 3: The best way to improve your programming and problem solving skills is to practice.

Page 3: 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.

3

Computer Programs

• A program is a sequence of instructions.

• To run a program is to:– Create the sequence of instructions according to your

design and the language rules

– Turn that program into the binary code that the computer understands

– Give the binary code to the Operating System (OS), so it can pass it to the processor for execution

– OS and processor together, execute the program

Page 4: 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.

4

Code Example

The Practice of Computing Using Python, Punch, Enbody, ©2011 Pearson Aaddison-Wesley. All rights reserved

Page 5: 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.

5

Interpreted

• Python is an interpreted language• Interpreted means that Python looks at each

instruction, one at a time, and translate it into machine language.

– That allows you to enter instructions one-at-a-time.

• You can also create a file with several instructions called a script, load it, and execute all the instruction one after the other.

• To rerun an script, reload it.

Page 6: 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.

Interactive mode vs scripting mode

Page 7: 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.

7

Two ways to work: Interactive and scripting

• One of the benefits of working with an interpreted language is that you can test bits of code in interactive mode before you put them in a script.

• But there are differences between interactive mode and script mode that can be confusing.

Page 8: 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.

8

Interactive mode

• For example, if you are using Python as a calculator, you might type

>>> miles = 26.2 >>> miles * 1.61 42.182

Page 9: 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.

9

Scripting mode

• But if you type the same code into a script and run it, you get no output at all.

• In script mode an expression, all by itself, has no visible effect.

• Python actually evaluates the expression, but it doesn’t display the value unless you tell it to do so:miles = 26.2 print miles * 1.61

Page 10: 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.

Calculating area and circunference

Page 11: 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.

11

Code Example

The Practice of Computing Using Python, Punch, Enbody, ©2011 Pearson Aaddison-Wesley. All rights reserved

Page 12: 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.

12

Import of Math

• One thing we did was to import the math module with import math

• This imported python math statements

• We precede all operations of math with math.OPERATION–e.g. math.pi, math.pow(x, y)

Page 13: 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.

13

Getting Input

The function:

input(“Give me a value”)

• Prints “Give me a value” on the python screen and waits until the user types anything and presses Enter

• After pressing enter, the result is a string even for numbers

Page 14: 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.

14

Assignment Statements

• The ‘=‘ is the assignment statement

• The value to the right is associated with the variable name on the left

• It does not stand for equality!

Page 15: 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.

15

Convert from string to integer

• To do math, Python requires converting the sequence of characters into an integer

Page 16: 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.

16

Printing OutputmyVar = 12

print (‘My var has a value of:’,myVar)

• print takes a list of elements to print, separated by commas– If the element is a string, prints it as is

– If the element is a variable, prints the value associated with the variable

– After printing, moves on to a new line of output

Page 17: 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.

17

Save as a script

• When you save a file, such as our first program, and place a .py suffix on it, it becomes a python module or script

• You “run” the module from the IDLE menu to see the results of the operation

• A module is just a file with a bunch of python commands

• Python provides a lot modules for common tasks such as math, databases, networking, etc.

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

18

Errors!!!

• If Python interpreter does not understand your code you will get an error (or errors)

• Check the syntax and fix it

• You can them import the program again until there are no more errors

Page 19: 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.

19

Common Error

• When using IDLE, if you save a file without a .py extension, it will not colorize and format the file.

• Resave with the .py extension

Page 20: 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.

20

Formal Elements of Programming

• These apply to any computer programming language

Page 21: 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.

21

Statements

• Statements are commands.– They perform some action

n = n + n ** 3

n = 3

print ‘Hello!’

Page 22: 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.

22

Expressions

• Expressions perform some operation and have a value– Typically do not modify values in the interpreter

3

n + 3

n ** 3

Page 23: 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.

23

Comments

• Code is what actually executes

• Comments do not execute but they make the programs easier to understand, improving readability.

n + 3 #this an expression

n = n ** 3 #this is an statement

print ‘Hello!’ #this is another statement

Page 24: 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.

24

Literals

• Literal is a programming notation for a fixed value.

• Integer numbers are literals because they have fixed values–e.g. 123, 999, 1000.

Page 25: 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.

25

Operators

• Integer– addition and subtraction: +, -

– multiplication: *

– Division (quotient): /– remainder: %

• Floating point– add, subtract, multiply, divide: +, -, *, /

Page 26: 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.

26

Variables

• A variable is a location in memory where we store data in our program.

• We assign names to variables to make our program more readable.

Page 27: 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.

27

Variables• Python maintains a list of pairs for every variable:

– variable’s name

– variable’s value

• A variable is created when a value is assigned the first time. It associates a name and a value

• Subsequent assignments update the associated value. • We say the variable name references the value• A variable type depends on the value assigned to it.

Name Value

X 7X = 7

Page 28: 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.

28

Page 29: 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.

29

Python Naming Conventions• Must begin with a letter or _

– Ab123 is OK, but 123ABC is not.

• May contain letters, digits, and underscores– this_is_an_identifier_123

• May be of any length

• Upper and lower case letters are different– LengthOfRope is not the same as lengthofrope

• Names starting with _ have special meaning.

Page 30: 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.

30

When = Doesn’t Mean Equal

• It is most confusing at first to see the following kind of expression:

–myInt = myInt + 7

• What’s looks strange here is that the = doesn’t mean equal, but assignment

Page 31: 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.

31

= sign means assignment• In many computer languages, = means

assignment.– myInt = myInt + 7– lhs = rhs

• What assignment means is:– Evaluate the expression on the right-hand-size of the

equal sign– Take the resulting value and store it in the variable

indicated on the left-hand-size

• Only variables go into the left-hand side of an assignment statement

Page 32: 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.

32

More on Assignment

• Example: x = 3 * 5 + 2–evaluate expression (3*5 + 2) = 17

–change the value of x to 17

• Example (if y has value 2): y = y + 3–evaluate the expression (y+3): 5

–change the value of y to 5

Page 33: 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.

33

Page 34: 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.

34

Variables and Types

• Python does not require you to pre-define the data type of a variable

• The data type of a variable can change

• Nonetheless, knowing the data type can be important for using the correct operation on a variable. Thus proper naming is important!

Page 35: 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.

35

What is a Type?

• A Python data type essentially defines two things:– The internal structure of the type (what it contains)– The operations you can perform on it.

• You can capitalize letter, and add numbers– You cannot capitalize numbers or add letter.

Page 36: 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.

36

Python Data Types

• Integer: 5

• Float: 1.2

• Boolean: True, False

• String: “anything” or ‘something’

• List: [,]: [‘a’,1,1.3]

• Others

Page 37: 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.

37

Fundamental Types

• Integers– 1, -27

• Floating Point– 3.14, 10.0, .001, 3.14e-10, 0e0

• Boolean (True or False values)– True, False (notice the use of caps)

Page 38: 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.

38

Converting Types

• A character ‘1’ is NOT the same as the integer 1

• You need to convert the value returned by the input command (characters) into an integer

• int(“123”) yields the integer 123

Page 39: 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.

39

Type Conversion

• int(someVar) converts to an integer

• float(someVar) converts to a float

• str(someVar) converts to a string

• should check out what works:– int(2.1) 2, int(‘2’) 2, but int(‘2.1’) fails

– float(2) 2.0, float(‘2.0’) 2.0, float(‘2’) 2.0, float(2.0) 2.0

– str(2) ‘2’, str(2.0) ‘2.0’, str(‘a’) ‘a’

Page 40: 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.

40

Types and Division

Python does binary operations on two values of the same type, yielding a value of that type:

• 2/3, integer types, yield integer (0).– 2%3 is the remainder, an integer (2)

• 2.0/3.0, float types, yield float (0.66666)

Page 41: 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.

41

Mixed Types

• 4/3 results is 1 under integer division

• 4.0/3.0 results in 1.3333333 under float division

• What is the result of 4/3.0?–Python will automatically convert to the most

detailed type. Thus 4 4.0, and the result is 1.3333333

Page 42: 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.

42

LAB2_Python1