l02 python primer - people @ eecs at uc berkeleyboser/courses/49... · 2018-01-18 · b. e. boser 1...
TRANSCRIPT
![Page 1: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/1.jpg)
B. E. Boser 1
Electronics for IoT
Python Primer
Bernhard E. BoserUniversity of California, Berkeley
IoT49: Python Primer
![Page 2: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/2.jpg)
B. E. Boser 2
Last Time
IoT49: Python Primer
![Page 3: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/3.jpg)
B. E. Boser 3
Programming
• Assembly
• C
• Python
IoT49: Python Primer
![Page 4: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/4.jpg)
B. E. Boser 4
Python
IoT49: Python Primer
![Page 5: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/5.jpg)
B. E. Boser 5
Python
IoT49: Python Primer
![Page 6: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/6.jpg)
B. E. Boser 6
Python
IoT49: Python Primer
![Page 7: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/7.jpg)
B. E. Boser 7
Python
IoT49: Python Primer
![Page 8: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/8.jpg)
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!”)
![Page 9: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/9.jpg)
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
![Page 10: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/10.jpg)
B. E. Boser 10
Laptop …
IoT49: Python Primer
![Page 11: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/11.jpg)
B. E. Boser 11
Web … (http://repl.it)
IoT49: Python Primer
![Page 12: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/12.jpg)
B. E. Boser 12
ESP32 Microcontroller
IoT49: Python Primer
![Page 13: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/13.jpg)
B. E. Boser 13
Python Docs
IoT49: Python Primer
![Page 14: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/14.jpg)
B. E. Boser 14
Python Docs
IoT49: Python Primer
![Page 15: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/15.jpg)
B. E. Boser 15
Python Docs
• 13 MBytes (compressed)
• I have not read it either!
IoT49: Python Primer
![Page 16: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/16.jpg)
B. E. Boser 16
How to survive EE49 …
• … if I never programmed Python before– My situation 12 month ago!
IoT49: Python Primer
![Page 17: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/17.jpg)
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
![Page 18: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/18.jpg)
B. E. Boser 18
Examples …
IoT49: Python Primer
![Page 19: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/19.jpg)
B. E. Boser 19
Examples
• Numbers
• Even/odd
• Division
• ints, floats
• Conversion, int, round
• Libraries: e.g. math.sin, math.pi
IoT49: Python Primer
![Page 20: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/20.jpg)
B. E. Boser 20
Editors – Plain Vanilla
IoT49: Python Primer
![Page 21: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/21.jpg)
B. E. Boser 21
Editors – Syntax Highlighting
IoT49: Python Primer
![Page 22: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/22.jpg)
B. E. Boser 22
Editors - IDE
IoT49: Python Primer
![Page 23: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/23.jpg)
B. E. Boser 23
Choices, choices …
IoT49: Python Primer
![Page 24: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/24.jpg)
B. E. Boser 24
More Python
IoT49: Python Primer
https://docs.python.org/3/tutorial/
![Page 25: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/25.jpg)
B. E. Boser 25
Exercises
IoT49: Python Primer
http://www.practicepython.org
![Page 26: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/26.jpg)
B. E. Boser 26
Help
IoT49: Python Primer
![Page 27: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/27.jpg)
B. E. Boser 27
Blinking LED
IoT49: Python Primer
![Page 28: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/28.jpg)
B. E. Boser 28
Microcontroller I/O
IoT49: Python Primer
![Page 29: L02 Python Primer - People @ EECS at UC Berkeleyboser/courses/49... · 2018-01-18 · B. E. Boser 1 Electronics for IoT Python Primer Bernhard E. Boser University of California, Berkeley](https://reader034.vdocuments.net/reader034/viewer/2022050205/5f5820c16d6c2c092934e3fb/html5/thumbnails/29.jpg)
B. E. Boser 29
Next Lecture
• Electricity!
IoT49: Python Primer