MicroPython 是 Python 3 语言的精简实现 ,包括Python标准库的一小部分,经过优化可在微控制器中运行。MicroPython虽然也有很多库可以用,但他们多半需要针对不同但硬件,并且不直接兼容PC上但Python模块)但这并不妨碍我们使用MicroPython学习Python,让我们开始吧。
只要完整跟着这篇教程学习,一步步操作相信你就能入门Python了!
REPL
REPL译成’交互式解释器’,你只需要记住它是一个交互窗口,能够执行你输入的一行行代码即可。
print('hello', 'world')
# >>>hello world
print()会依次在控制端打印数据,遇到逗号(,)会输出一个空格,通常用于调试程序
print()除了字符(串),还能打印数字,比如
print(66)
>>>300
print(60 + 40)
>>>100
为了让打印结果直观性更强,我们可以试着将字符串与数字一起打印
print('60 + 40 =', 60+40)
>>>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中的等号 = 是赋值而非等于,使用它可以将任意数据类型赋值给变量,并且同一个变量可以反复赋值,不
局限类型
a = 66
print(a)
>>>66
a = 'A'
print(a)
>>>'A'
这种变量类型不定称之为动态语言,与之对应但是静态语言。静态语言中定义变量必须指定类型如C语言、Java
int a = 66
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
- 双下划线__前缀:私有的变量或方法
```python
# 这个私有变量是不允许从外部直接访问的,只允许类本身访问甚至连子类也不可访问,
__private = "私有变量"
# 例
class student(object):
def __init__(self):
self.__grade = 30
stu = student()
# print(stu.__grade) # error
print(stu._student__grade) # 30
stu.__grade = 40 # 可以看到私有变量并没有改变,而是相当于创建连一个新的属性变量
print(stu.__grade) # 40
print(stu._student__grade) # 30
stu._student__grade = 50 # Python提供了访问私有属性的特殊方式:对象名._类名+私有成员
print(stu.__grade) # 40
print(stu._student__grade) # 50
:::warning 私有变量的规则在Micropython中不适用 :::
- 前后双下划线xx:代表python里特殊方法专用的标识,如 init()代表类的构造函数,不要自己创建这样的变量和方法
列表 list
列表 list 是Python内置的数据类型之一,属于动态数组,既可随意修改
list 是一种有序的集合,由元素组成,可对其进行增删操作。比如通过列表来存储你朋友的名字
friends = ['Bob', 'Marry', 'Tom']
friends
>>>['Bob', 'Marry', 'Tom']
其中friends即是一个变量,类型为列表
列表中的元素数据类型可以不同,比如
test = ['cat', 666, True]
列表的的元素索引是从0开始的,这是计算机语言的逻辑,请一定记牢,而采用-号,可倒着索引元素
friends[0]
>>>'Bob'
friends[1]
>>>'Marry'
friends[2]
>>>'Tom'
friends[-1]
>>>'Tom'
friends[-2]
>>>'Marry'
列表只有3个元素,而你索引值却超过了2,如friends[3],会报错
列表包含一些内置的函数,能够对其进行增加、删除、排序、索取元素长度等等
在列表末端加入元素
friends = ['Bob', 'Marry', 'Tom']
friends.append('Hogan')
friends
>>>['Bob', 'Marry', 'Tom', 'Hogan']
# 在指定索引出插入元素
friends.insert(1, 'Yvette')
friends
>>>['Bob', 'Yvette', 'Marry', 'Tom', 'Hogan']
# 删除末端元素
friends.pop()
friends
>>>['Bob', 'Yvette', 'Marry', 'Tom']
# 将指定索引位置的元素替换成别的
friends[0] = 'Hogan'
friends
>>>['Hogan', 'Yvette', 'Marry', 'Tom']
# 获取列表元素的个数,多用于轮询
len(friends)
>>>4
元组 tuple
元组 tuple 是Python内置的数据类型之一,和列表list很像,但属于静态数组,既一旦初始化就不能修改
比如用元组存放某一届某个班级的学生
students = ('hogan', 'Yvette', 'Tom', 'Pat')
# 注意
REPL和串口
大多数诸如meowbit、掌控板、microbit等常用主控板上,都集成了串口芯片,能够让使用者直接通过microUSB或type-C USB连接主控,进行在线交互或烧录程序。
REPL译成’交互式解释器’。就是你往REPL里输入一行代码,它立即给你执行结果。首先我们打开Python IDE后选择硬件并连接串口,在终端里输入并回车,
print('hello', 'world')
>>>hello world
print()会依次在控制端打印数据,遇到逗号(,)会输出一个空格。print()通常用于将程序烧录到板子后,通过串口返回值调试程序
print()除了字符(串),还能打印数字,比如
print(66)
>>>300
print(60 + 40)
>>>100
为了让打印结果直观性更强,我们可以试着将字符串与数字一起打印
print('60 + 40 =', 60+40)
>>>60 + 40 = 100