普中科技MicroPython基于esp32的基础教程-03-字符串

news2024/9/26 1:17:57

目录

字符串 

字符串的表示方式

普通字符串

原始字符串 

长字符串 

字符串与数字相互转换 

将字符串转换为数字 

 将数字转换为字符串

格式化字符串 

占位符%

format方法 

f-strings

操作字符串 

字符串拼接

字符串查找 

字符串替换 

字符串分割 

去处字符串两边的指定字符

字符串 

字符串的表示方式

普通字符串

在C语言中使用双引号表示字符串,单引号只能表示字符,而在python中两者皆可

 转义字符的用法与C语言的用法一致,但是python却可以直接打印字符--原始字符串

原始字符串 

目的就是让转义字符的功能失效,成为一个单纯的字符而已,就是单纯的在字符串前面加r'

 

长字符串 

在C语言中如果一个字符串太长,我们使用多行的话,我们可以使用\来表示

字符串与数字相互转换 

将字符串转换为数字 

C语言提供了几个标准库函数,可以将字符串转换为任意类型 (整型、长整型、浮点型等)的数字。 atoi ()函数将字符串转换为整数,atoi ()函数只有一个参数,即要转换为数字的字符串,atoi ()函数的返回值就是转换所得的整型值。

在C语言中实现这个功能需要使用函数来实现,而在python中实现却很简单,直接使用int和float即可,更方便形象

 

如果需要把字符串中的字符转换为整数的话,需要在int中说明16进制ab

 将数字转换为字符串

 

格式化字符串 

占位符%

这个与C语言是一样的,比如我们想输出今天的日期是2023/1/22,并且年月日都是变量,那么使用C语言就是printf("今天的日期是%d/%d/%d\n",year,monther,day);

但是在python中就有点不太一样了

 python:print("今天的日期是%d/%d/%d"%(year,monther,day))。与C语言相比,无非就是多加了%而已,其实这种形式最贴近C语言的输出形式使用(个人觉得)

format方法 

上面我们说使用%的时候,需要注意类型与占位符的匹配问题(常常是因为没对准),在C语言的初学中,我们常常会因为这个问题,导致出现数据输出错误,而python很好,直接帮我们解决了这个问题,这个方法可以避免我们出现匹配问题,对初学者很好,但是我觉得如果你喜欢C语言的表达形式的话,你可以直接使用占位符的方式

 

 它这里不需要写占位符,并且不需要按照顺序来写变量,而是可以直接在{}写编号对应,比C语言的更强

今天的日期是2023/1/22--

print("今天的日期是{}/{}/{}".format(year,monther,day))  不要忘记format前面有一个.

print("今天的日期是{1}/{2}/{0}".format(day,year,monther))

f-strings

 print(f' "今天的日期是{year}/{monther}/{day}")

 

操作字符串 

在C语言中存在字符串无非就是使用一些函数入长度、比较、连接等处理,而在python中同样是实现这些操作,但在python中这些操作更简单,C语言的使用会稍微比python更复杂,python实现C语言的功能都对用户来说都很简单

字符串拼接

 这个拼接在前面的序列拼接中也存在,两者可以直接使用+进行连接,不像C语言一样,需要使用函数实现,而python内部直接帮我们实现了所有,屏蔽了我们--面向对象的编程舒服点

字符串查找 

 

查找hello wrold中的lo
a = "hello world"
a.find("lo")  --可以指定位置范围,以提高效率
3  --返回值为索引号(下标号)

a.find('l',3,6)
3
a.find('l',4,9)  //包括开头的索引,但是不包括结尾的索引
-1
a.find('l',4,8)
-1
a.find('l',4,10) //下标为9的字符为’l',因此你需要写10
9

字符串替换 

字符串分割 

 

去处字符串两边的指定字符

这个功能在C语言的计算机二级考试中经常存在,C语言没有函数实现,而在python中已经帮我们实现好了

 

总结 

虽然字符串在语言的使用中很常见,但是我觉得在单片机的使用中很少见,就像51单片机一样,字符串的使用我基本很少见(也许是自己眼界不行)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

目标检测:Focal Loss

目标检测:Focal Loss前言Focal LossCross Entropybalanced Cross EntropyFocal Loss Definition前言 Focal loss这个idea来源于论文《Focal Loss for Dense Object Detection》,主要是为了解决正负样本、难易样本不平衡的问题。 Focal Loss Cross Entropy 在目标…

不懂Pod?不足以谈K8s

文章目录✨ 前言1. myblog改造及优化2. Pod生命周期🍑 如何编写资源 yaml🍑 pod状态与生命周期3. Pod操作总结✨ 前言 在上一篇文章中,我们学习了 Pod 的常用设置,那么这篇文章咱们继续开动! K8s落地实践之旅 —— P…

LabVIEW异步调用VI的多个实例实现并行执行

LabVIEW异步调用VI的多个实例实现并行执行默认情况下,如对一个VI进行多个异步调用,LabVIEW将这些调用按顺序排列,依次执行。各个调用的执行时间累加,效率不高。按照下列步骤,并行执行各个调用,避免一个调用…

Python小技巧:__str__()的妙用

前言 这里是Python小技巧的系列文章。这是第三篇,object.__str__(self)方法的妙用。 书接上回,这次还是介绍Python类的内置方法,__str__() 据官方文档的介绍,在使用 str(object) 、format() 和 print() 的时候会调用__str__() 方…

一文搞懂go并发编程设计原理

前言 主要学习其设计原则,大体流程,权衡利弊 不要纠结于部分难懂的实现细节,因为不同的人对相同接口的实现细节不一样,就算是相同的人实现两次也可能不一样 context context的作用主要有两个: 在整个请求的执行过程…

stm32 笔记 PWM输入模式测量脉宽和占空比原理

一、PWM 输入模式测量脉宽 1.1 测量脉宽简介 在测量占空比之前,我们先一步一步来,先让 STM32 可以测量脉宽。 TIM3_CH1(tim3 定时器通道 1)捕获模式测量脉宽步骤如下: 1.输入捕获到 PWM 上升沿触发 2.发送中断&am…

机器视觉_HALCON_快速向导_2.用HALCON开发程序

文章目录使用HALCON开发应用程序1. 认识HALCON:架构&数据结构1.1. HALCON算子1.2. 参数与数据结构1.2.1. Images 图像1.2.2. Regions 区域1.2.3. XLDS 扩展线1.2.4. Handles 句柄1.2.5. Tuple Mode 元组模式1.3. HALCON与并行编程1.4. HALCON支持计算设备1.5. H…

grant之后要跟着flush privileges吗?

在 MySQL 里面,grant 语句是用来给用户赋权的。不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语句生效。我最开始使用 MySQL 的时候,就是照着一个操作文档的说明按照这个顺序操作的。 那么,grant 之后真的需要…

33.Isaac教程--操纵运动学

操纵运动学 ISAAC教程合集地址文章目录操纵运动学应用架构实施细节正向运动学逆运动学小码为了控制机器人手臂的运动,需要数学表示法来计算执行器输入并为轨迹规划器表示障碍物。 为实现这一点,操纵运动学 GEM 将铰接式机器人系统表示为连接的刚体&#…

Linux常用命令——sudo命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) sudo 以其他身份来执行命令 补充说明 sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警…

pytorch深度学习基础(九)——深入浅析卷积核

深入浅析卷积核引言单通道卷积简单图像边缘检测锐化高斯滤波引言 提到卷积,应该多数人都会想到类似上图的这种示例,可以简单的理解成卷积核与图像中和卷积核相同大小的一块区域与卷积核相乘再求和,通过移动区域产生一个有和组成的新的图像&am…

Python烟花秀

前言 Python跨年烟花表演,具体源码见:Python跨年烟花代码-Python文档类资源-CSDN下载 烟花的粒子类 class particle: #烟花的粒子类 def __init__(self,canvas,num,sums,x,y,x_speed,y_speed,explosion_speed,color,size,max_life): sel…

第四章必备前端基础知识-第二节2:CSS属性

文章目录一:CSS属性一览表二:常用属性详解(1)字体属性(2)文本属性(3)背景属性一:CSS属性一览表 W3C:元素属性 A: align-content规定弹性容器内…

Android studio版本对用的gradle版本和插件版本(注意事项)

简介 Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。虽然 Android 插件通常会与 Android Studio 的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可独立于…

实体店运营:能提高顾客留存率的店铺陈列方式

今天是大年初一,秦丝祝各位商户老板新年快乐,喜迎开门红,赚个盆满钵满!现在还在营业的实体店应该不多了吧?大部分老板都回家团圆了。忙忙碌碌一整年,好不容易到了年关,好好休息是应该的。但是店…

Go存储引擎相关资料汇总

背景 ​ 最近逛知乎的时候看到了这个问题,“Go语言如何写数据库?”。说来我业余时间在这个领域有一些时间精力的投入了,所以想回答一下。我投入的方向是存储引擎方面,所以这篇文章主要是总结一下我看过的一些比较好的Go存储引擎的…

二维费用背包问题

二维费用背包问题一、问题二、思路1、状态表示2、状态转移3、循环设计4、注意三、代码一、问题 二、思路 这道题归根结底还是背包问题的一种,面对背包问题,我们的思路就是面对前i个物品的时候,我们的第i个物品是选还是不选,如果条…

关于ARM的向量中断控制器NVIC

学习或者了解过ARM的朋友应该都会知道NVIC这么个东西,这个东西也是ARM中非常重要的东西,它是ARM不可分离的部分,搭配着内核共同完成着对中断的响应。 1、那到底NVIC是个啥东西呢? NVIC:简称嵌套向量中断控制器。它管理…

【new操作符做了什么 —— js】

🧁个人主页:个人主页 ✌支持我 :点赞👍收藏🌼关注🧡 文章目录new操作符具体做了什么?🎈创建了一个空的对象✨将空对象的原型,指向于构造函数的原型🍧将空对象…

【操作系统】—— Windows卸载与清除工具“ Geek 与 CCleaner ” (带你快速了解)

📜 “作者 久绊A” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴。 🍁 操作系统【带你快速了解】对于电脑来说,如果说…