Chapter 4 Numbers. Python Program Structure Python programs consist of: Modules Statements Expressions Objects.

Post on 12-Jan-2016

224 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

Chapter 4 Numbers

Python Program Structure

Python programs consist of: Modules Statements Expressions Objects

Python Built-in types

Why Use Python built-in types? Make simple programs easy to write Provides objects and supports extensions Components of extensions More efficient than custom data structures

Python Built-in types

Built-in objects: Numbers 3.1415, 1234, 999L, 3+4j Strings ‘spam’, “guido’s” Lists [1,2,3,4], [1, [2, ‘three’], 4] Dictionaries {‘taste’: ‘yum’, ‘food’: spam} Tuples (1, ‘spam’, 4, ‘U’) Files input=open(‘file.txt’, ‘r’)

Numbers Python supports: Integer Floating point Literal for creating numbers, and expressions for

processing them

Numbers

Numeric literals: 1234, -24, 0 Normal integers 999999999L Long integers 1.23, 3.14e-10 Floating point 0177, 0x9ff, 0XFF Octal and hex literals 3+4j, 3.0+4.0j, 3J Complex number literals

Built-in Tools and Extensions

Tools for processing number objects Expression operators +, *, >>, ** Built-in math functions pow, abs Utility modules random, math

Python Expression Operators

Mixed Types: Converted Up

Mix numeric types: Example: 40+3.1415

Rule: first converts operands up to the type of the most complicated operand, and then performs the math on same-type operand

Complexity order: integer, long integer, floating point numbers, complex numbers

Number in Action

Basic operations and Variables: Variables are created when first assigned a value Variables are replaced with their values when used in

expressions Variables must be assigned before they can be used in

expressions Variables refer to objects, and are never declared ahead of

time

>>> a=3 #Name created

>>> b=4

Number in Action

>>> a+1, a-1 # (3+1), (3-1)

(4, 2)

>>> b*3, b/2

(12, 2)

>>> a%2, b ** 2 # modulus(remainder), power

(1, 16)

>>> 2+4.0, 2.0 ** b #mixed-type conversions

(6.0, 16.0)

Number in Action>>> c*2 Traceback(most recent call last): File “<stdin>”, line 1, in?NameError: name ‘c’ is not defined

>>> b / 2 + a

>>> b/(2.0+a)

>>> b/(2+a)

Number in Action

Numeric representation:>>> b / (2.0 + a) #auto echo output

0.80000000000004

>>> print b/(2.0+a) #print rounds off digits

0.8

Number in Action

Division: Classic, Floor, and True

Bitwise Operations

>>> x=1 #0001

>>> x<<2 #shift left 2 bits: 0100

4

>>>x|2 #bitwise or: 0011

3

>>>x&1 #bitwise AND: 0001

1

Long Integers

>>> 2L ** 200

>>> 2 ** 200

Other Numeric Tools

>>> import math

>>> math.pi

>>> math.e

>>> int(2.567), round(2.567), round(2.567,2)

Other Numeric Tools

>>> abs(-42), 2**4, pow(2,4)

(42, 16, 16)

>>>int(2.567), round(2.567), round(2.4)

(2, 3.0, 2.0)

>>> round(2.567, 2)

2.569999999999998

Dynamic Typing

>>> a = 3 Create an object to represent the value of 3 Create the variable a, if it does not yet exist Link the variable a to the new object 3

Share Reference

>>> a=3

>>> b=a

Share Reference

>>>a=3

>>>b=a

>>>a=5

top related