鱼C论坛

 找回密码
 立即注册
查看: 422|回复: 4

[已解决]pyton的28讲课后作业,第三题答案完全看不懂

[复制链接]
发表于 2025-1-14 17:45:17 | 显示全部楼层 |阅读模式

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

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

x
expandtabs(2),不是把一个tab转换为俩空格吗,tab=2,tab=5,tab=10,又是啥意思
最佳答案
2025-1-14 19:20:59
正如甲鱼的图,并不是单纯\t换成空格。

同时经过我测试,\t至少换成一个空格。默认情况下,每个制表符会被替换成 8 个空格

  1. s = "1\t2"
  2. print(s.expandtabs())  # 每个 \t 替换为 8 个空格
  3. print(s.expandtabs(4))
  4. print(s.expandtabs(10))
  5. 1       2
  6. 1   2
  7. 1         2

  8. s = "1\t2"
  9. print(s.expandtabs(1))  
  10. print(s.expandtabs(4))  
  11. print(s.expandtabs(10))
  12. 1 2
  13. 1   2
  14. 1         2

  15. s = "1\t2\t3"
  16. print(s.expandtabs(2))  
  17. print(s.expandtabs(4))  
  18. print(s.expandtabs(10))
  19. 1 2 3
  20. 1   2   3
  21. 1         2         3

  22. s = "1\t2\t3"
  23. print(s.expandtabs(1))  
  24. print(s.expandtabs(4))  
  25. print(s.expandtabs(10))
  26. 1 2 3
  27. 1   2   3
  28. 1         2         3

  29. s = "123\t2"
  30. print(s.expandtabs(2))  
  31. print(s.expandtabs(4))
  32. print(s.expandtabs(10))
  33. 123 2
  34. 123 2
  35. 123       2
复制代码
cc.JPG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-1-14 17:45:32 | 显示全部楼层
expandtabs(n) 方法的作用是将字符串中的制表符(`\t`)替换为指定数量的空格。参数 `n` 指定每个制表符转换成的空格数量。

### 示例:
  1. s = "1\t2\t3"
  2. print(s.expandtabs(2))  # 每个 \t 替换为 2 个空格
  3. print(s.expandtabs(5))  # 每个 \t 替换为 5 个空格
  4. print(s.expandtabs(10)) # 每个 \t 替换为 10 个空格
复制代码


### 输出结果:

  1. 1  2  3
  2. 1    2    3
  3. 1          2          3
复制代码


总结:`expandtabs(n)` 的核心就是设置 `\t` 的宽度为指定的空格数量,依此进行替换。希望能帮你理解!


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-14 17:55:43 | 显示全部楼层
默认是两个空格,即 tab = 2,如果想要一个 \t 等于 4 个空格,那么就 tab = 4,8 个空格就 tab = 8
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-14 19:20:59 | 显示全部楼层    本楼为最佳答案   
正如甲鱼的图,并不是单纯\t换成空格。

同时经过我测试,\t至少换成一个空格。默认情况下,每个制表符会被替换成 8 个空格

  1. s = "1\t2"
  2. print(s.expandtabs())  # 每个 \t 替换为 8 个空格
  3. print(s.expandtabs(4))
  4. print(s.expandtabs(10))
  5. 1       2
  6. 1   2
  7. 1         2

  8. s = "1\t2"
  9. print(s.expandtabs(1))  
  10. print(s.expandtabs(4))  
  11. print(s.expandtabs(10))
  12. 1 2
  13. 1   2
  14. 1         2

  15. s = "1\t2\t3"
  16. print(s.expandtabs(2))  
  17. print(s.expandtabs(4))  
  18. print(s.expandtabs(10))
  19. 1 2 3
  20. 1   2   3
  21. 1         2         3

  22. s = "1\t2\t3"
  23. print(s.expandtabs(1))  
  24. print(s.expandtabs(4))  
  25. print(s.expandtabs(10))
  26. 1 2 3
  27. 1   2   3
  28. 1         2         3

  29. s = "123\t2"
  30. print(s.expandtabs(2))  
  31. print(s.expandtabs(4))
  32. print(s.expandtabs(10))
  33. 123 2
  34. 123 2
  35. 123       2
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-14 19:22:32 | 显示全部楼层
小甲鱼的二师兄 发表于 2025-1-14 17:55
默认是两个空格,即 tab = 2,如果想要一个 \t 等于 4 个空格,那么就 tab = 4,8 个空格就 tab = 8

不用expandtabs()是4个
expandtabs()不填参数默认8个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-6 07:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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