鱼C论坛

 找回密码
 立即注册
查看: 1100|回复: 10

[已解决]字符长度

[复制链接]
发表于 2020-4-27 09:05:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>>str=("a\b\c")
>>>len(str)
4

问题:为什么等于四不等于3,\b和\c不是分别表示一个字符长度吗?
最佳答案
2020-4-27 09:21:55
本帖最后由 sunrise085 于 2020-4-27 09:25 编辑

并不是所有的字符前加反斜杠都会被转义的。所有能转义的都是有规定的。
如:\b转义为退格,\n转义为回车换行,\t转义为Tab, 等等
你要把\c转义?没这个规定啊
所以\c是两个字符'\'和'c'
因此,"a\b\c"是四个字符
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-27 09:08:48 | 显示全部楼层
你print一下str就知道了
  1. >>> str=("a\b\c")
  2. >>> len(str)
  3. 4
  4. >>> print(str)
  5. a\c
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:09:17 | 显示全部楼层
\c表示两个字符长度。
  1. >>> len('\c')
  2. 2
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:10:54 | 显示全部楼层
wuqramy 发表于 2020-4-27 09:08
你print一下str就知道了

看一眼你第 5 行是个啥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:11:52 | 显示全部楼层
'\c'不是一个转义字符,是两个字符组成的:'\'和'c'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:19:08 | 显示全部楼层
  1. >>> print("a\b\c")
  2. a\c
  3. >>> #从这里看出来,print 之后长度为 4
  4. >>> len("a\b\c")
  5. 4
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:19:28 | 显示全部楼层
本帖最后由 heidern0612 于 2020-4-27 09:21 编辑

因为\a和\b都是关键字,都算一个,\C不算关键字,算俩字符。所以一共是四个字符。

所以才有下面\a\b\c打印的结果只有/c。


另外,不要命名重新命名str内置函数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:21:55 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-4-27 09:25 编辑

并不是所有的字符前加反斜杠都会被转义的。所有能转义的都是有规定的。
如:\b转义为退格,\n转义为回车换行,\t转义为Tab, 等等
你要把\c转义?没这个规定啊
所以\c是两个字符'\'和'c'
因此,"a\b\c"是四个字符
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:22:16 | 显示全部楼层
heidern0612 发表于 2020-4-27 09:19
因为\a和\b都是关键字,都算一个,\C不算关键字,算俩字符。所以一共是四个字符。

所以才有下面\a\b\c打 ...

那是a\b\c啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:22:21 | 显示全部楼层
heidern0612 发表于 2020-4-27 09:19
因为\a和\b都是关键字,都算一个,\C不算关键字,算俩字符。所以一共是四个字符。

所以才有下面\a\b\c打 ...

他没用 \a 。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 09:22:54 | 显示全部楼层

噢,\a和a都是一个字符。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 05:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表