测试知识:答案

未匹配的标注
  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年代)。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~