L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1...
Transcript of L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1...
B. E. Boser 1
Electronics for IoT
Python Primer
Bernhard E. BoserUniversity of California, Berkeley
IoT49: Python Primer
B. E. Boser 2
Last Time
IoT49: Python Primer
B. E. Boser 3
Programming
• Assembly
• C
• Python
IoT49: Python Primer
B. E. Boser 4
Python
IoT49: Python Primer
B. E. Boser 5
Python
IoT49: Python Primer
B. E. Boser 6
Python
IoT49: Python Primer
B. E. Boser 7
Python
IoT49: Python Primer
B. E. Boser 8
Runs “everywhere”
• PC, Mac, Linux, ESP32, …
• Versions:– Python 2.7– Python 3.4+
• MicroPython (missing some libraries, adding others)• Use Python 3 on host!• Most glaring difference:
IoT49: Python Primer
print “Hello World!”print(“Hello World!”)
B. E. Boser 9
OS
• Windows, MacOS, Linux, …
• What’s the OS on the ESP32?– None! (almost, FreeRTOS)
• REPL– Read evaluate print loop– Like a command window,
but speaks “Python” rather than bash, …
IoT49: Python Primer
B. E. Boser 10
Laptop …
IoT49: Python Primer
B. E. Boser 11
Web … (http://repl.it)
IoT49: Python Primer
B. E. Boser 12
ESP32 Microcontroller
IoT49: Python Primer
B. E. Boser 13
Python Docs
IoT49: Python Primer
B. E. Boser 14
Python Docs
IoT49: Python Primer
B. E. Boser 15
Python Docs
• 13 MBytes (compressed)
• I have not read it either!
IoT49: Python Primer
B. E. Boser 16
How to survive EE49 …
• … if I never programmed Python before– My situation 12 month ago!
IoT49: Python Primer
B. E. Boser 17
Python for EE49
• Basic stuff– print, comments
• Data Types– Numbers, strings, list, dict– Indexing
• Expressions
• Variables
• Statements– If, for, while
• Library– Import
• Functions
IoT49: Python Primer
B. E. Boser 18
Examples …
IoT49: Python Primer
B. E. Boser 19
Examples
• Numbers
• Even/odd
• Division
• ints, floats
• Conversion, int, round
• Libraries: e.g. math.sin, math.pi
IoT49: Python Primer
B. E. Boser 20
Editors – Plain Vanilla
IoT49: Python Primer
B. E. Boser 21
Editors – Syntax Highlighting
IoT49: Python Primer
B. E. Boser 22
Editors - IDE
IoT49: Python Primer
B. E. Boser 23
Choices, choices …
IoT49: Python Primer
B. E. Boser 24
More Python
IoT49: Python Primer
https://docs.python.org/3/tutorial/
B. E. Boser 25
Exercises
IoT49: Python Primer
http://www.practicepython.org
B. E. Boser 26
Help
IoT49: Python Primer
B. E. Boser 27
Blinking LED
IoT49: Python Primer
B. E. Boser 28
Microcontroller I/O
IoT49: Python Primer
B. E. Boser 29
Next Lecture
• Electricity!
IoT49: Python Primer