MicroPython学习笔记(一) 格式字符串
1.实验平台
开发板:移远EC600X_QuecPython_EVB_V2.0
开发工具:QPYcom
2.格式化字符串
一个常见的问题是怎么输出格式化字符串,在c语言中我们常用printf输出格式化字符串,而在python中常用的格式化字符串有下面两种:
(1)占位符
跟c语言一样可以在print中使用占位符,常使用的占位符如下:
%d | 整型 |
%r | repr 显示raw data |
%s | 字符串 |
%f | 浮点型 |
%x | 十六进制 |
测试代码如下:
str1 = "hello world"Pi = 3.14159265numbers = 77print("numbers = %d,PI= %f,string = %s,hex = %x,repr = %r"%(numbers,Pi,str1,numbers,str1))
通过工具QPYcom_V2.0下载到开发板中并执行代码,结果如下:
example.exec('usr/micro_python_test.py')
numbers = 77,PI= 3.141593,string = hello world,hex = 4d,repr = 'hello world'
可以发现%运算符是用来格式化字符串,使用% + 不同的后缀可以实现格式化不同类型。其中要注意%s和%r的用法。在使用%f时需要注意丢失精度问题。
(2)format 方法
format方法是一种string格式化方法,使用{x}来代替%占位符。具体用法如下:
str1 = "hello world"Pi = 3.14159265numbers = 77#print("numbers = %d,PI= %f,string = %s,hex = %x,repr = %r"%(numbers,Pi,str1,numbers,str1))print("numbers = {0},PI= {1},string = {2}".format(numbers,Pi,str1))#结果如下:
example.exec('usr/micro_python_test.py')
numbers = 77,PI= 3.14159265,string = hello world
可以看到PI的精度被完整保留下来了。
(3)f-string
f-string是另一种格式化字符串的方法,其优点是只要使用{xxxx}就可以实现xxxx变量的替换,并且还可以控制精度比如:{Pi:05.2f} 测试结果如下:
str1 = "hello world"Pi = 3.14159265numbers = 77#print("numbers = %d,PI= %f,string = %s,hex = %x,repr = %r"%(numbers,Pi,str1,numbers,str1))#print("numbers = {0},PI= {1},string = {2}".format(numbers,Pi,str1))print(f"numbers = {numbers},PI= {Pi:05.2f},string = {str1}")#测试结果如下:
example.exec('usr/micro_python_test.py')
Traceback (most recent call last):File "/usr/micro_python_test.py", line 12
SyntaxError: invalid syntax
实际测试报错,询问客服EC600X并不支持f-string格式化字符串。
3.总结
实际开发中使用格式化字符串debug相当便利,使用占位符还是format方法,仁者见仁智者见智啦。当然如果您不知道该用什么,使用%s将永远起作用,它可以把任何数据类型转换成字符串。
MicroPython学习笔记(一) 格式字符串相关推荐
- python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- Python学习笔记D4(字符串和序列)
Python学习笔记D4(字符串和序列) 序列 list()作为一个方法存在两个形态,一个有参数一个没参数 list():不带参数,返回一个空的列表 list([iterable]):返回一个迭代器 ...
- CoAP学习笔记——CoAP格式详解
0 前言 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型 ...
- shell脚本编程学习笔记6(xdl)——字符串截取命令
shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...
- CanOpen协议栈学习笔记1-帧格式,SYNC和NMT报文介绍
前面已经记录过can协议,后面开始CanOpen协议栈学习.其实协议栈代码已经看过了,而且已经在开发板上跑过了.这里回过头来,重新看下之前遇到的坑,记录下学习笔记.下面均以标准帧为例 文章目录 1.C ...
- CoAP协议学习笔记——CoAP格式详解
CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型设备而言, ...
- python中string.digits_python学习笔记五:字符串方法
常用字符串常量: string.digits:包含数字0~9的字符串 string.letters:包含所有字母(大写或小写字符串,在python3.0中,使用string.ascii-letters ...
- 学习笔记13-C语言-字符串函数、缓冲区
字符串的常用函数: #include<string.h> size_t strlen(const char* s); 功能:计算字符串长度,但是结果不包括'\0' 返回值:返回字符串中字符 ...
- python学习笔记3(字符串)
字符串 定义:以单引号或双引号括起来的任意文本 #创建字符串 str1 = 'sunck is a good man!' 字符串运算 #字符串连接 str2 = 'sunck is a' str3 = ...
最新文章
- Numpy 统计变量(平均值、标准差、方差、最大、最小、和、乘积、对角线和)
- unity 200.8m yoy_没错,Unity双十一来了
- LeetCode 213 House Robber II Python
- 书讯:《架构实战—软件架构设计的过程》
- iOS 开发之 - iOS6 适配, UITextField 文本,placeholder没有居中对齐
- 亚信安全特邀出席2016首届国际反病毒大会
- 在Magento 2中自定义电子邮件模板
- python pyhook_Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
- MP4视频播放问题(有声音无图像)分析与解决——FFmpeg视频处理教程
- 2014年终总结回顾与2015年工作总结
- EXPLOITING CVE-2016-2060 ON QUALCOMM DEVICES
- 我是如何在12周内由零基础成为一名程序员的——谨以此文激励自己!!!
- android报错:Only the original thread that created a view hierarchy can touch its views.
- SAP ABAP 我的文章合集:ABAP and Excel
- Android中的PendingIntent 原理
- 华为虚拟一键部署服务器,服务器一键部署
- 【kafka】Error while fetching metadata xxx: {TEST=LEADER_NOT_AVAILABLE}
- 2022年全国大学生数学建模竞赛赛题B组解题参考+代码
- 一些常见的项目管理 KPI
- 递归序列化错误:Recursive Serialization is not supported. You can‘t dereference a PPtr while loading.