python经典试题的考点分类

Python的设计哲学是“优雅”、“明确”、“简单”。

python语言考点集锦


试题考点分析

本文旨在巩固笔试考点知识,分类归纳,更好的理解和应用

本文将python笔试110题分个类,看看哪些是掌握的重点。
各个考点的重难点分析。
然后是项目实战应用,看看它是怎么完成任务的,实例将分别在不同的blog上展示。


笔试题参考答案见博客:小试牛刀:python笔试110题(Interview questions)

一、考点–基本语法(1/110)

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。

需要了解PEP8编码规范,注意缩进、空行、导入格式,(行/块)注释格式,文档字符串描述格式,约定俗成的命名约定。
参见:PEP8规范总结
考题看似不多,其实全篇都在考。俗称‘卷面分’ 。

1. 考题93. 列举3条以上PEP8编码规范

二、考点–python控制语(8/110)

1. 基础控制语句

  1. if语句,else, elif(相当于else if) 配合;
  2. for语句,遍历列表、字符串、字典、集合等迭代器;
  3. while语句;
  4. class语句,用于定义类型;
  5. def语句,定义函数和类型的方法;
  6. pass语句,表示此行为空,不运行任何操作;
  7. with语句;
  8. import语句,导入一个模块或包,from … import语句,从包导入模块或从模块导入某个对象;import … as语句,将导入的对象赋值给一个变量;
  9. in语句,判断一个对象是否在一个字符串/列表/元组里。
1. 考题11. 简述面向对象中__new__和__init__区别
2.考题12.简述with方法打开处理文件帮我我们做了什么?
3.考题53.写一个单列模式(考点类和类方法)

2. 重难点控制语句

  1. try语句,与except,finally,else配合使用处理在程序运行中出现的异常;
  2. assert语句,用于程序调试阶段时测试运行条件是否满足;(assert的用法
  3. yield语句;(如果你不了解它,点击清晰的解释,直接上手)
  4. raise语句,制造一个错误;(使用方法参见清晰明了的解释
1. 考题36. 写一段自定义异常代码
2. 考题41. 举例说明异常模块中try except else finally的相关意义
3.考题17.python中断言assert方法举例
4. 考题65. IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
5. 考题50. 遇到bug如何处理

三、考点–python数据类型、方法、表达式(41/110)

1. int、float、complex、bool对象和方法

1. 考题92. int(“1.4”),int(1.4)输出结果?
2. 考题54. 保留两位小数,题目本身只有a=”%.03f”%1.3335,让计算a的结果,为了扩充保留小数的思路,提供round方法(数值,保留位数)
3. 考题30. a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?
4. 考题10. python内建数据类型有哪些?
5. 考题21.列出python中可变数据类型和不可变数据类型,并简述原理

2. 算数运算符

算术运算符:+, -, *, /, //, **, ~, %分别表示加(取正)、减法(取负)、乘法、除法、整除、乘方、取补、取余.

1. 考题42. python中交换两个数值

3. 逻辑和关系运算

  1. and, or, not表示逻辑运算
  2. is, is not用于比较两个变量是否是同一个对象
  3. in, not in用于判断一个对象是否属于另外一个对象。

4. str对象和方法,编码(bytes:ASCII,utf-8, gbk)

1. 考题46. a=”hello”和b=”你好”编码成bytes类型
2. 考题105. 单引号、双引号、三引号用法
3. 考题22. s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”
4. 考题15. 避免转义给字符串加哪个字母表示原始字符串?
5. 考题40. x=”abc”,y=”def”,z=[“d”,”e”,”f”],分别求出x.join(y)和x.join(z)返回的结果
6. 考题70. a = “ hehheh “,去除首尾空格
7. 考题87. 统计字符串中某字符出现次数
8. 考题88. 字符串转化大小写
9. 考题89. 用两种方法去空格

5.正则表达式

1. 考题16.“ <d1v class="nam">中国</d1v>”,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的.
2. 考题26. 字符串a = “not 404 found 张三 99 深圳”,每个词中间是空格,用正则过滤掉英文和数字,最终输出”张三 深圳”
3. 考题29. 正则re.complie作用
4. 考题37. 正则表达式匹配中,(.)和(.?)匹配区别?
5. 考题44. a=”张明 98分”,用re.sub,将98替换为100
6. 考题51. 正则匹配,匹配日期2018-03-20
7. 考题82. s=”info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]
8. 考题83. 正则匹配以163.com结尾的邮箱
9. 考题90. 正则匹配不是以4和7结尾的手机号
10. 考题94. 正则表达式匹配第一个URL
11. 考题95. 正则匹配中文
12. 考题99. 正则表达式匹配出一下html源代码中的大标题。
13. 考题110 .python正则中search和match

5.列表、集合、元组、字典对象和方法,与生成器和迭代器

1. 考题6. python实现列表去重的方法
2. 考题13. 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
3. 考题31. 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
4. 考题39. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
5. 考题47. [1,2,3]+[4,5,6]的结果是多少?
6. 考题101. 求两个列表的交集、差集、并集
7. 考题4. 字典如何删除键和合并两个字典
8. 考题28. 使用pop和del删除字典中的”name”字段,dic={“name”:”zs”,”age”:18}
9. 考题字24. 典根据键从小到大排序dict={“name”:”zs”,”age”:18,”city”:”深圳”,”tel”:”1362626627”}
10. 考题字85. python字典和json字符串相互转化方法
11. 考题28. 列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,15]
12. 考题79. 列表推导式、字典推导式、生成器
13. 考题69. 请将[i for i in range(3)]改成生成器
14. 考题8. python2和python3的range(100)的区别

四、考点–函数(25/110)

1. 函数基础知识和常用函数(sum, map,filter,any,all)

1. 考题7. fun(args,**kwargs)中的args,**kwargs什么意思?
2. 考题68. C:\Users\ry-wu.junya\Desktop>python 1.py 22 33命令行启动程序并传参,print(sys.argv)会输出什么数据?
3. 考题1. 一行代码实现1—100之和
4. 考题64. 简述any()和all()方法
5. 考题2. 如何在一个函数内部修改全局变量
6. 考题27. filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
7. 考题66. python中copy和deepcopy区别
8. 考题52. list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6,9]
9. 考题55. 求三个方法打印结果

2. 魔法方法、lambda匿名函数、递归、sorted、zip

1. 考题67. 列出几种魔法方法并简要介绍用途
2. 考题103. lambda匿名函数好处
3. 考题23. 用lambda函数实现两个数相乘
4. 考题72. 对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序
5. 考题73. 使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为[0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小
6. 考题74. 列表嵌套字典的排序,分别根据年龄和姓名排序
7. 考题75. 列表嵌套元组,分别按字母和数字排序
8. 考题76. 列表嵌套列表排序,年龄数字相同怎么办?
9. 考题43. 举例说明zip()函数用法
10. 考题60. 使用zip函数,构建字典dict.
11. 考题77. 根据键对字典排序(方法一,zip函数)
12. 考题78. 根据键对字典排序(方法二,不用zip)
13. 考题71. 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]
14. 考题80. 最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用
15. 考题84. 递归求和

3. 装饰器

1. 考题9. 一句话解释什么样的语言能够用装饰器?

五、考点–引用(3/110)

1. 考题91. 简述python引用计数机制
2. 考题100. python传参数是传值还是传址?
3. 考题106. python垃圾回收机制

六、考点–进程、线程、锁(5/110)

1. 考题5. 谈下python的GIL( Global Interpreter Lock,全局解释器锁)
2. 考题63. 简述多线程、多进程
3. 考题109. 简述线程和进程
4. 考题96. 简述乐观锁和悲观锁
5. 考题48. 提高python运行效率的方法

七、考点–Web 框架(7/110)

1. 考题38. 简述Django的orm
2. 考题56. 列出常见的状态码和意义
3. 考题57. 分别从前端、后端、数据库阐述web项目的性能优化
4. 考题61. 简述同源策略
5. 考题62. 简述cookie和session的区别
6. 考题104. 常见的网络传输协议
7. 考题107. HTTP请求中get和post区别

八、考点–数据库(7/110)

1. 考题18. 数据表student有id,name,score,city字段,其中name中的名字可有重复,需要消除重复行,请写sql语句
2. 考题34. 数据库优化查询方法
3. 考题45. 写5条常用sql语句
4. 考题49. 简述mysql和redis区别
5. 考题81. 举例说明SQL注入和解决办法
6. 考题59. 列出常见MYSQL数据存储引擎
7. 考题86. MyISAM 与 InnoDB 区别.

九、考点–标准库:(random,collections,os,datetime,matplotlib,numpy,pandas)(10/110)

1. 考题3. 列出5个python标准库
2. 考题14. python中生成随机整数、随机小数、0—1之间小数方法
3. 考题102. 生成0-100的随机数
4. 考题20. python2和python3区别?列举5个
5. 考题25. 利用collections库的Counter方法统计字符串每个单词出现的次数“kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h”
6. 考题32. 用python删除文件和用linux命令删除文件方法
7. 考题33. log日志中,我们需要用时间戳记录error,warning等的发生时间,请用datetime模块打印当前时间戳 “2018-04-01 11:38:54”
8. 考题35. 请列出你会的任意一种统计图(条形图、折线图等)绘制的开源库,第三方也行
9. 考题39. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
10. 考题39. python中读取Excel文件的方法

十、考点–系统、接口、文件(3/110)

1. 考题19. 10个Linux常用命令
2. 考题98. Linux命令重定向 > 和 >>
3. 考题97. r、r+、rb、rb+文件打开模式区别

参考答案

python笔试110题(Interview questions)

项目实战案例

1. 排序

  1. 冒泡排序 BubbleSort
  2. 快速排序Quicksort
  3. 选择排序–Selection sorting method

2. 人工智能

  1. 关键点标注算法
  2. 虚拟试衣

web项目

  1. 博客网站建设(Django项目)
    ……待续
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏常青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值