2020年《python程序设计》基础知识及程序设计598题[含参考答案] 一、填空题 1.语句 print(re.match('abc', 'defg')) 输出结果为_____________。(None) 2.表达式 'abcab'.replace('a','yy') 的值为___________。('yybcyyb') 3.表达式 chr(ord('A')+2) 的值为__________。('C') 4.表达式 len('中国'.encode('gbk')) 的值为____________。(4) 5.表达式 len('中国'.encode('utf-8')) 的值为___________。(6) 6.假设正则表达式模块re已导入,那么表达式 re.sub('\d+', '1', 'a12345bbbb67c890d0e') 的值为_____________________。('a1bbbb1c1d1e') 7.在设计正则表达式时,字符_______紧随任何其他限定符(*.+.?.{n}.{n,}.{n,m})之 后时,匹配模式是"非贪心的",匹配搜索到的.尽可能短的字符串。 【Python程序设计基础】 在Python编程中,基础知识点涵盖了字符串操作、正则表达式、编码格式、列表处理以及常用内置函数等多个方面。以下是对题目中涉及知识点的详细解释: 1. `print(re.match('abc', 'defg'))`:在Python的正则表达式模块`re`中,`match`函数用于检查字符串是否以指定模式开始。由于'defg'不以'abc'开头,所以输出结果为`None`。 2. `'abcab'.replace('a','yy')`:字符串的`replace`方法用于替换字符串中的某个子串。在这个例子中,'a'被替换为'yy',得到的结果是'yybcyyb'。 3. `chr(ord('A')+2)`:`ord()`函数用于获取字符的ASCII码,`chr()`函数则将ASCII码转换回字符。'A'的ASCII码是65,加2后为67,对应字符'C'。 4. `len('中国'.encode('gbk'))`:`encode`方法用于将字符串编码成字节序列。GBK编码是一种汉字编码,每个汉字通常占用2个字节。因此,'中国'的GBK编码长度是4。 5. `len('中国'.encode('utf-8'))`:UTF-8编码下,'中国'两个汉字分别用3个字节表示,所以总长度是6。 6. `re.sub('\d+', '1', 'a12345bbbb67c890d0e')`:`re.sub`函数用于替换匹配正则表达式的部分。'\d+'匹配一个或多个数字,所有数字被'1'替换,得到'a1bbbb1c1d1e'。 7. 在正则表达式中,'?'字符紧跟在其他限定符(如*、+、?、{n}、{n,}、{n,m})后面时,会使得匹配模式变为“非贪心的”,即匹配尽可能少的字符。 8. `'abc'.ljust(20)`返回一个长度至少为20的字符串,原字符串在左侧,右侧填充空格。所以`len`的值为20。 9. `str.endswith()`函数检查字符串是否以指定的后缀结束,这里同时检查'.jpg'和'.exe',由于输入字符串以'.exe'结尾,所以结果是`True`。 10. 列表索引是从0开始的,所以`'Hello world!'[-4]`获取的是倒数第四个字符,即'r'。 11. 字符串是不可变的,`x.replace('hello', 'hi')`不会改变原字符串`x`的值,`x`依旧为'hello world'。 12. `re.findall('(\d)\\1+', '33abcd112')`使用正则表达式查找连续重复的数字,返回的是['3', '1'],分别对应33和11。 13. `str.split()`方法按指定分隔符切分字符串,这里去除'sd',得到'assfff'。 14. `re.split('\d+', x)`将字符串`x`按一个或多个数字进行分割,得到['a', 'b', 'c']。 15. `re.split('\.+', 'alpha.beta...gamma..delta')`以一个或多个点号进行分割,得到['alpha', 'beta', 'gamma', 'delta']。 16. 数字字符串连接使用`+`操作符,'123' + '456'等于'123456'。 17. 字符串连接同样适用于单个字符,'a' + 'b'得到'ab'。 18. GBK编码是双字节编码,每个汉字用2个字节表示。 19. `str.endswith()`检查是否以指定后缀结尾,这里同时检查'.py'和'.pyw',因为'test.py'以'.py'结尾,所以结果是`True`。 20. `random.choice(x)`从列表`x`中随机选取一个元素,如果选取的元素在`x`中,`in`运算符返回`True`。 21. `sorted()`函数对列表进行排序,`key=lambda x:(x[0],x[2])`定义了排序依据,这里是按照第一个和第三个字符排序,但由于输入列表已经是排序好的,所以结果保持不变。 22. `x[3:]`取字符串从第3个字符开始的子串,`x[:3]`取前3个字符,两者拼接得到'defgabc'。 23. `len('SDIBT')`计算字符串长度,得到5。 24. `str.rstrip()`移除字符串末尾指定字符('af'),得到'aaasd'。 25. `str.strip()`移除字符串首尾指定字符('af'),得到'sd'。 26. `%s`格式化操作符用于将列表转化为字符串形式,`'%s' % [1,2,3]`得到`'[1, 2, 3]'`。 27. `str.endswith('.exe')`检查字符串是否以'.exe'结尾,对于'c:\\windows\\notepad.exe',结果为`True`。 以上就是题目中涉及的Python编程基础知识点的详细解析,涵盖了字符串操作、正则表达式、编码、列表操作和字符串格式化等多个核心概念。
- 粉丝: 104
- 资源: 9352
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js-leetcode题解之158-read-n-characters-given-read4-ii-call
- js-leetcode题解之157-read-n-characters-given-read4.js
- js-leetcode题解之156-binary-tree-upside-down.js
- js-leetcode题解之155-min-stack.js
- js-leetcode题解之154-find-minimum-in-rotated-sorted-array-ii.js
- js-leetcode题解之153-find-minimum-in-rotated-sorted-array.js
- js-leetcode题解之152-maximum-product-subarray.js
- js-leetcode题解之151-reverse-words-in-a-string.js
- js-leetcode题解之150-evaluate-reverse-polish-notation.js
- js-leetcode题解之149-max-points-on-a-line.js