python字符串面试笔试题

作者: python测试开发 | 来源:发表于2019-11-13 19:30 被阅读0次
      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() 计算指定字符串中给定子字符串的出现次数。第二个和第三个参数表示<start>和<end>值,解释为字符串切片:该方法包含字符串中以字符位置<start>开始的部分,直到但不包括<end>。

    image.png

    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”的前两次出现时将字符串input_string分开?

    A.'e'.split(input_string,maxsplit = 2)

    B.input_string.split('e',maxsplit = 2)

    C.'e'.split(input_string,2)

    D.input_string.split('e',2)

    demo.png
    • 12 编写Python函数expand(x)的代码,该函数接受字符串列表,将它们连接起来,然后返回生成的字符串,重复三次。

    比如Input: ['string1', 'string2'] Output: 'string1string2string1string2string1string2'

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

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

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

    相关文章

      网友评论

        本文标题:python字符串面试笔试题

        本文链接:https://www.haomeiwen.com/subject/rgrkictx.html