首页/新闻资讯/正文详情

MicroPython 语法与 CPython 的不同

发布时间:2026/9/27 22:37:22 来源:云帆数科 栏目:资讯中心
MicroPython 语法与 CPython 的不同
这涉及到了标注, 字面值,运算符, 还有解包等这些内容。这是参考自官方文档的, 并且进行了整理和验证的工作。标注允许在表达式这个地方使用类型标注这种说法, 而后面那个东西则是不允许的, 它是禁止的。def f():print(test): intdef f():[x,y]: intdef f():x,y: int# 在 Cython 执行这三个函数会引发 SyntaxError# 在 MicroPython 则不检查形式字面值在数字字面值里面, 我们是可以接受下划线这种内容的, 但是另外一方呢, 是不支持的。for i in (1_1,1__1,1_):try:print(eval(i))except SyntaxError:print(Should not work)# CPython 输出# 11# Should not work# Should not work# MicroPython 输出# 11# 11# 1要求在字面数字和关键字或者点号之间留空格, 而是不需要的了。不过需要补充一点说明就是自三点一一版本开始。当字面数字后面紧跟着关键字的时候会引发相应的反应。for i in (1and 0,1or 0,1if 1else 0,0x1.to_bytes(1)):try:print(eval(i))except SyntaxError:print(Should have worked)# MicroPython 输出4个Should have worked# CPython 输出时前三项有警告... SyntaxWarning: invalid decimal literal0... SyntaxWarning: invalid decimal literal1... SyntaxWarning: invalid decimal literal... SyntaxWarning: invalid decimal literal1b\x01运算符大家是允许的, 在那些嵌套起来的推导式里面的时候, 是可以使用那个 : 符号的, 目的就是为了给迭代过程中用到的变量去进行一个赋值的操作, 但是另一方面来说, 系统对于这种行为是不支持的。print([[(j : i) for i in range(2)] for j in range(2)])# CPython 报错# SyntaxError: assignment expression cannot rebind comprehension iteration variable j# MicroPython 输出# [[0, 1], [0, 1]]# 注Python 自 3.8 加入 : 语法故如下示例与 MicroPython 一致print(a:1); print(a)没有实现名称转义print(\N{LATIN SMALL LETTER A})# CPython 输出a# MicroPython 报错NotImplementedError: unicode name escapes解包因为 是使用来标记那些需要进行解包的参数的, 如果那些等待被解包的参数是第 n 个或者更大的话, 那么参数的解包操作就起不到任何作用了, 而这里的 n 指的是 里面的位数。def example(*args):print(len(args))MORE [a, b, c]example(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,*MORE,)# CPython 输出67# MicroPython 报错SyntaxError: too many args

相关推荐

DEVIN AI 初步使用:用 TaoToken 统一 Key 打通 settings.json 配置骨架
DEVIN AI 初步使用:用 TaoToken 统一 Key 打通 settings.json 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:37:22

C++网络编程入门学习(一)-- Linux环境下的C++程序编译与运行:用 TaoToken 统一 Key 打通编译调试链路
C++网络编程入门学习(一)-- Linux环境下的C++程序编译与运行:用 TaoToken 统一 Key 打通编译调试链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:37:22

Spring AI 2.0.0 API 接入 TaoToken:settings.json 配置骨架与连通性验证
Spring AI 2.0.0 API 接入 TaoToken:settings.json 配置骨架与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:37:22

Laravel Lang 中库尔德语(ckb)翻译完成度报告:15 个缺失键位全解析与补全指南
Laravel Lang 中库尔德语(ckb)翻译完成度报告:15 个缺失键位全解析与补全指南

后端 【免费下载链接】lang List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI. 项目地址: https://gitcode.com/gh_mirrors/la/lang 点击查看 免费下载 本指南以… · 2026/9/27 23:49:50

3个坑让你省5万:内蒙古高等级公路建设开发有限责任公司网站对比评测
3个坑让你省5万:内蒙古高等级公路建设开发有限责任公司网站对比评测

3个坑让你省5万:内蒙古高等级公路建设开发有限责任公司网站对比评测 找建站公司最怕什么?不是功能做不全,而是报价单上那些看不懂的术语,最后结账时才发现多花了几万块冤枉钱。很多老板拿着需求去问价,销售嘴里蹦出“微服务架构”、“全栈云原生”,转… · 2026/9/27 23:49:50

UG数控编程从入门到精通:工艺思维与实战避坑指南
UG数控编程从入门到精通:工艺思维与实战避坑指南

1. 为什么UG数控编程值得你花时间啃下来干了十几年机加工,从手编宏程序到现在的CAM软件,我最大的感受就是:UG(现在官方叫Siemens NX)在数控编程这块,依然是国内模具、汽车、航空零件加工厂里最硬的那块敲门… · 2026/9/27 23:49:50

Java数字签名与证书生成实战:从keytool到Bouncy Castle全解析
Java数字签名与证书生成实战:从keytool到Bouncy Castle全解析

简介:围绕Java数字签名与数字证书的源码示例,面向中高级Java开发者及安全编程初学者,演示如何在网络通信中利用非对称加密保障数据完整性与发送方身份验证。压缩包为RAR格式,体积仅17KB,便于快速下载与阅读&#xff1b… · 2026/9/27 23:49:44

苹果序列号查询全解析:从底层逻辑到二手交易避坑实战
苹果序列号查询全解析:从底层逻辑到二手交易避坑实战

1. 苹果序列号查询的底层逻辑与核心价值很多人第一次接触“序列号查询”这个概念,是因为买了一台二手 iPhone 或者 Mac,想确认卖家说的“全新未激活”“国行正品”到底靠不靠谱。苹果的序列号就像设备的身份证号,它不只是一串随机字符&#x… · 2026/9/27 23:49:44

Python多模态情感分析:文本、语音、图像与视频融合实战
Python多模态情感分析:文本、语音、图像与视频融合实战

简介:基于Python实现的多模态融合情感分析项目,完整覆盖文本、语音、图像和视频四种输入模态,适用于课程设计、期末大作业及毕设场景。项目代码含详尽注释,新手也能看懂,经过严格调试可直接运行,能够支撑答… · 2026/9/27 23:49:38

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码