测试知识:答案 | 第二部分 类型与操作 —— 第 7 章: 字符串基础 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-380玩彩网官网入口

未匹配的标注
  1. 字符串的 find 方法能被用来搜索列表吗?

    不,因为方法总是特定类型的;也就是说,它们只适用于一个数据类型。然而,像 x y的表达式和像 len(x)的内置函数是通用的,可以适用于许多类型。比如,在这个例子中, in 表达式有类似于字符串 find 的效果,但它可以同时用来搜索字符串和列表。在python 3系列中,有一些按类别来分组方法的尝试(比如,可变的序列类型 listbytearray 有类似的方法集),但方法仍比其它操作集更特定类型。

  2. 字符串的切片表达式能用在列表上吗?

    能。不像方法,表达式是通用的且适用于许多类型。在这个例子中,切片表达式其实是一个序列操作——它适用于许多序列对象,包括字符串、列表、元组。唯一的不同是当对列表进行切片时,返回的是一个新列表。

  3. 如何将字符转换为其 ascii 整数码?如何反向转换(从整数到字符)?

    内置 ord(s) 函数将单字符的字符串转换为一个整数字符码;chr(i)将整数码转回字符串。然而,记住:这些整数只是ascii码,用于字符仅从ascii字符集获得的文本。在unicode模型中,文本字符串其实是unicode码点识别数字(它们可能超出被ascii保留的7比特数字范围)的序列。更多关于unicode的知识请参阅第4章第37章

  4. 如何着手改变python中的字符串?

    字符串无法被改变;它们是不可变的。然而,可以通过创建一个新字符串来到达类似效果——通过连接、切片、运行格式化表达式,或运行像replace的方法调用——然后把结果赋值回原来的变量名。

  5. 假设一个字符串 s 的值为“s,pa,m”,列出提取中间两个字符的两种方法。

    • 使用 s[2:4] 来切片字符串;
    • 使用 s.split(',')[1] 来以逗号分割并索引。
  6. 在字符串“a\nb\x1f\000d”中有多少个字符?

    6个:

    • a
    • \n
    • b
    • x1f(二进制的31,16进制转义)
    • \000(二进制的0,8进制转义)
    • d

    打印每个字符的ord结果来看实际的码点(识别数)值。参见表7-2来获取关于转义的更多细节。

  7. 为什么你可能使用 string 模块而非字符串方法调用?

    当前绝不应该使用 string 模块来代替字符串对象方法调用——它已经过时了,且其调用被python 3.x完全移除。当今在任何情况下使用 string 模块的唯一理由就是它的其它工具,比如预定义常数。你可能还看到它出现在对目前来说非常老旧和充满灰尘的代码中(和遥远朦胧的过去的书籍中——如20世纪90年代)。

本文章首发在 380玩彩网官网入口 网站上。

上一篇 下一篇
讨论数量: 0



暂无话题~
网站地图