User Tools

Site Tools


python:dierbach:chapter_2_data_and_expressions

This is an old revision of the document!


View page as slide show

Data and Expressions

Contents

  • Literals
  • Variables and identifiers
  • Operators
  • Expressions
  • Data types

Literals

What is a literal?

  • literal: a sequence of one or more characters that stands for itself.
  • numeric literal: contains only the digits 0–9, a sign character (1 or 2) and a optional decimal point.
    • integer versus floating point value
    • e for scientific notation
    • 3, -42, +98.6, 6.033e23

Number ranges

  • Floating point values have limited range and precision.
  • IEEE 754: ±10-308 to ±10308 with 16 to 17 digits of precision.
  • arithmetic overflow: results when operation causes number to be “too big”.
>>> 1.5e200 * 2.0e210
inf
  • arithmetic underflow: results when operation causes number to be “too small”.
>>> 1.0e-300 / 1.0e100
0.0

Floating point numbers are an approximation

  • Limited precision means actual values are approximations.
>>> 6 * 1/10
0.6
>>> 6 * (1/10)
0.6000000000000001

Formatting output

  • format() produces a string version of a value with a specific number of decimal places.
  • format specifier says how many places and format.
>>> 12/5
2.4
>>> format(12/5, '.2f')      # 2 places, floating point
'2.40'
>>> format(2 ** 100, '.6e')  # 6 places, scientific notation
'1.267651e 1 30'
>>> format(13402.25, ',.2f') # optional comma
'13,402.25'

String literals

  • Use either single-quote or double-quote.
greeting = 'Hi there'
"Vernacular nepotism is fractious."
'A'
"A"
  • Clever use:
msg = 'She said, "Yellow."'
msg = "She's making a radio."

Character codes

  • Characters need to be encoded as (binary) numbers.
  • Python uses UTF-8 by default.
  • ord() translates a single character into its UTF-8 code.
  • chr() converts a UTF-8 code into a character.
>>> ord('1')
49
>>> ord('2')
50
>>> ord('a')
97
>>> ord('A')
65

Control characters

  • control characters: non-printing characters used to control display of output.
  • Represented with escape sequences (backslash in Python).
  • Most popular escape sequence is the newline control: '\n'.
>>> print('Eat\nMore\nElderberries')
Eat
More
Elderberries

String formatting

  • Format strings with format( value, format_specifier )
format('Hello', '<16')  # left aligned field 16 characters wide
'Hello           '
 
format('Hello', '>16')  # right aligned field 16 characters wide
'           Hello'
 
format('Hello', '.>16') # fill with '.'
'...........Hello'

Implicit Line Joining

  • What to do with long lines in source code?
  • implicit joining: you can break the line at some points without messing up logic or syntax.
print('Name:', student_name, 'Address:', student_address,
      'Number of Credits:', total_credits, 'GPA:', current_gpa)
  • Doesn’t work to break up a string.

Explicit Line Joining

  • explicit joining (backslash) can be used in some situations where implicit joining won’t.
num_seconds = num_hours * 60 * 60 + \
              num_minutes * 60 
  • Also doesn’t work to break up strings.

Silly encoding example

# This program displays the Unicode encoding for 'Hello World!
 
# program greeting
print('The Unicode encoding for "Hello World!" is:')
 
# output results
print(ord('H'), ord('e'), ord('l'), ord('l'), ord('o'), ord(' '),
      ord('W'), ord('o'), ord('r'), ord('l'), ord('d'), ord('!'))

Variables and Identifiers

What is a variable?

python/dierbach/chapter_2_data_and_expressions.1469738631.txt.gz · Last modified: 2016/07/28 20:43 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki