MicroPython 是 Python 3 语言的精简实现 ,包括Python标准库的一小部分,经过优化可在微控制器中运行。MicroPython虽然也有很多库可以用,但他们多半需要针对不同但硬件,并且不直接兼容PC上但Python模块)但这并不妨碍我们使用MicroPython学习Python,让我们开始吧。

只要完整跟着这篇教程学习,一步步操作相信你就能入门Python了!

REPL


REPL译成’交互式解释器’,你只需要记住它是一个交互窗口,能够执行你输入的一行行代码即可。

  1. print('hello', 'world')
  2. # >>>hello world

print()会依次在控制端打印数据,遇到逗号(,)会输出一个空格,通常用于调试程序

print()除了字符(串),还能打印数字,比如

  1. print(66)
  2. >>>300
  3. print(60 + 40)
  4. >>>100

为了让打印结果直观性更强,我们可以试着将字符串与数字一起打印

  1. print('60 + 40 =' 60+40)
  2. >>>60 + 40 = 100

数据类型和变量


Python中常见且能够直接处理的数据类型有以下几种

整数

python中对整数的大小没有明确规定,所谓整数即不带小数点的数,可以是正数、零或负数。多数时候,十进制是我们人类能够接受的,

例如:-10, 0, 1000

但计算机只认二进制数0和1,而十六进制转二进制更方便,所以我们通常在编程中会使用十六进制0~9和a~f,例如0xa34等等

有时候整数位数很大,我们可以手动增加_(下划线)分割提高可读性。比如10000000与10_000_000是一样的,对于十六进制来说也同理:0xa123b = 0xa12_3b

浮点数

浮点数也就是小数的别称,之所以称之为浮点,是由于在科学计数法中,一个数中的小数点位置是可以移动的,比如:123000 = 1.23x10= 12.3x10

字符串

字符串是以单引号’’或双引号””包裹的任意文本

例如:’abc’, “123”

需要注意的是其中字符串特有的引号只是一种表示字符串的方式,并不是字符串本身,比如

“abc”:其中包含的字符时a、b、c这3个字符

Python中的等号 = 是赋值而非等于,使用它可以将任意数据类型赋值给变量,并且同一个变量可以反复赋值,不
局限类型

  1. a = 66
  2. print(a)
  3. >>>66
  4. a = 'A'
  5. print(a)
  6. >>>'A'

这种变量类型不定称之为动态语言,与之对应但是静态语言。静态语言中定义变量必须指定类型如C语言、Java

  1. int a = 66
  2. a = 'A' //这个会报错,因为已经固定里变量类型为整型

python作为动态语言,相对更简单、更适合零基础快速入门

函数

命名规范


  • 单下划线_前缀:受保护的变量或方法 ```python

    虽说是受保护的,实际上知识python项目协作中的约定,就像告诉另一个协作者:这个protected变量你不要动

    通过from xx import *的方式无法导入,只有类及其子类可以访问对象

    _protected = “受保护变量”

class student(object): def init(self): self._name = “wang”

stu = student() print(stu._name) # wang

  1. - 双下划线__前缀:私有的变量或方法
  2. ```python
  3. # 这个私有变量是不允许从外部直接访问的,只允许类本身访问甚至连子类也不可访问,
  4. __private = "私有变量"
  5. # 例
  6. class student(object):
  7. def __init__(self):
  8. self.__grade = 30
  9. stu = student()
  10. # print(stu.__grade) # error
  11. print(stu._student__grade) # 30
  12. stu.__grade = 40 # 可以看到私有变量并没有改变,而是相当于创建连一个新的属性变量
  13. print(stu.__grade) # 40
  14. print(stu._student__grade) # 30
  15. stu._student__grade = 50 # Python提供了访问私有属性的特殊方式:对象名._类名+私有成员
  16. print(stu.__grade) # 40
  17. print(stu._student__grade) # 50

:::warning 私有变量的规则在Micropython中不适用 :::

  • 前后双下划线xx:代表python里特殊方法专用的标识,如 init()代表类的构造函数,不要自己创建这样的变量和方法

image.png

列表 list


列表 list 是Python内置的数据类型之一,属于动态数组,既可随意修改
list 是一种有序的集合,由元素组成,可对其进行增删操作。比如通过列表来存储你朋友的名字

  1. friends = ['Bob', 'Marry', 'Tom']
  2. friends
  3. >>>['Bob', 'Marry', 'Tom']

其中friends即是一个变量,类型为列表
列表中的元素数据类型可以不同,比如

  1. test = ['cat', 666, True]

列表的的元素索引是从0开始的,这是计算机语言的逻辑,请一定记牢,而采用-号,可倒着索引元素

  1. friends[0]
  2. >>>'Bob'
  3. friends[1]
  4. >>>'Marry'
  5. friends[2]
  6. >>>'Tom'
  7. friends[-1]
  8. >>>'Tom'
  9. friends[-2]
  10. >>>'Marry'

列表只有3个元素,而你索引值却超过了2,如friends[3],会报错

列表包含一些内置的函数,能够对其进行增加、删除、排序、索取元素长度等等

  1. 在列表末端加入元素
  2. friends = ['Bob', 'Marry', 'Tom']
  3. friends.append('Hogan')
  4. friends
  5. >>>['Bob', 'Marry', 'Tom', 'Hogan']
  6. # 在指定索引出插入元素
  7. friends.insert(1, 'Yvette')
  8. friends
  9. >>>['Bob', 'Yvette', 'Marry', 'Tom', 'Hogan']
  10. # 删除末端元素
  11. friends.pop()
  12. friends
  13. >>>['Bob', 'Yvette', 'Marry', 'Tom']
  14. # 将指定索引位置的元素替换成别的
  15. friends[0] = 'Hogan'
  16. friends
  17. >>>['Hogan', 'Yvette', 'Marry', 'Tom']
  18. # 获取列表元素的个数,多用于轮询
  19. len(friends)
  20. >>>4

元组 tuple


元组 tuple 是Python内置的数据类型之一,和列表list很像,但属于静态数组,既一旦初始化就不能修改
比如用元组存放某一届某个班级的学生

  1. students = ('hogan', 'Yvette', 'Tom', 'Pat')
  2. # 注意

REPL和串口


大多数诸如meowbit、掌控板、microbit等常用主控板上,都集成了串口芯片,能够让使用者直接通过microUSB或type-C USB连接主控,进行在线交互或烧录程序。

REPL译成’交互式解释器’。就是你往REPL里输入一行代码,它立即给你执行结果。首先我们打开Python IDE后选择硬件并连接串口,在终端里输入并回车,

  1. print('hello', 'world')
  2. >>>hello world

print()会依次在控制端打印数据,遇到逗号(,)会输出一个空格。print()通常用于将程序烧录到板子后,通过串口返回值调试程序

print()除了字符(串),还能打印数字,比如

  1. print(66)
  2. >>>300
  3. print(60 + 40)
  4. >>>100

为了让打印结果直观性更强,我们可以试着将字符串与数字一起打印

  1. print('60 + 40 =' 60+40)
  2. >>>60 + 40 = 100