python字符串面试笔试题

    1. 以下代码的输出是?
s = 'foo'
t = 'bar'
print('barf' in 2 * (s + t))

A.True
B.Fasle

+运算符连接字符串,而*运算符创建多个副本。 2 *(s + t)的结果是'foobarfoobar',它确实包含字符串'barf'。

    1. 以下代码的输出是?
print(ord('foo'))

A.102
B.102 111 111
C.异常

ord()函数返回给定字符的整数值。 但是您只能指定一个字符(长度为1的字符串):

    1. 给出字符串s的从倒数第一个开始,每3个取一个的切片表达式是什么?

A.s[::-3]
B.s[::3]
C.s[:3:-1]

切片表达式中的第三个索引为-3,表示从倒数第一个开始,每3个取一个。第一个和第二个索引应为-1(最后一个字符)和0(第一个字符)。 这些使用默认值即可。

    1. s = 'foobar', 下面哪个表达式的结果和其他不同

A.s[::5]
B.s[0] + s[-1]
C.s[::-1][::-5]
D.s[::-5]
E.s[::-1][-1] + s[len(s)-1]

    1. s = 'foobar',下面哪些表达式为True

A.s[::-1][::-1] is s
B.s[::-1][::-1] == s
C.s[:] == s
D.s[:] is s

s [:]创建对原始字符串s的实际引用。 因此,不仅s和s [:]相等,而且它们也具有相同的id():

s [::-1]反转s,但创建对新对象的引用。 附加的[::-1]切片会再次将其反转,因此它等于原始的s。 但这不是同一对象:

>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[:])
60155776
>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[::-1][::-1])
63665824
    1. 用f字符串补全 返回'Hello, my name is name.'
def greet(person):
    return # Use an f-string

A.f'Hello, my name is {person}.'
B.f'Hello, my name is person.'
C.f'Hello, my name is {%person}.'

f字符串看起来像普通的字符串,但以f或F为前缀。f字符串中的变量用花括号括起来。

    1. 以下代码的输出是?
print(
    '$100 $200 $300'.count('$'),
    '$100 $200 $300'.count('$', 5, 10),
    '$100 $200 $300'.count('$', 5)
)

A.3 2 1
B.3 1 1
C.3 1 2
D.3 1 0

str.count() 计算指定字符串中给定子字符串的出现次数。第二个和第三个参数表示

    1. s = 'foo-bar-baz',下面哪些表达式和s相等。

A.s.center(15)
B.s.strip('-')
C.'-'.join(s.partition('-'))
D.'-'.join(s.split('-'))
E.s.upper().lower()

    1. 下面哪些表达式可以创建包含5个null (0x00)的 bytes.
      A.bytes(5)
      B.bytes('\x00\x00\x00\x00\x00', 'utf-8')
      C.bytes([0] * 5)
      D.bytes((0, 0, 0, 0, 0))

bytes(5)的参数可为整数,字符串和编码或迭代类型。 但不能是多个整数。

    1. 以下代码的输出是?
list((b'abcde' + 'fghi')[3:6])

A.[b'd', b'e', b'f']
B.[100, 101, 102]
C. b'def'
D. 异常

  • 11 在Python中,字符串是…

A. str对象
B. 字符数组
C. 不变的
D. 可变的

  • 12 以下哪一项给予字母“e”的前两次出现时将字符串分开?

A.'e'.split("dededede", maxsplit = 2)

B."dededede".split('e', maxsplit = 2)

C.'e'.split("dededede", 2)

D. "dededede".split('e', 2)

  • 13 以下哪些数学运算符可用于连接字符串:

A. -
B. +
C. /
D. *

  • 14 s="hello",一行代码将s反序转换成'olleh'

  • 15 哪些方法可以实现字符串连接

A. join()
B. +
C. %
D. format()
E. f-string

参考资料

python集合面试笔试题

04-25 21:28