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

目录

字符串 

字符串的表示方式

普通字符串

原始字符串 

长字符串 

字符串与数字相互转换 

将字符串转换为数字 

 将数字转换为字符串

格式化字符串 

占位符%

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单片机一样,字符串的使用我基本很少见(也许是自己眼界不行)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值