1、经典Python面试题之Python基础篇经典Python面试题之Python基础篇1. 为什么学习Python?2. 经过什么途径学习的Python?3. Python和Java、PHP、C、C#、C+等其它语言的对比?4. 简述解释型和编译型编程语言?5. Python解释器种类以及特点?6. 位和字节的关系?7. b、B、KB、MB、GB 的关系?8. 请至少列举5个 PEP8 规范(越多越好)。9. 经过代码实现如下转换:二进制转换成十进制:v = “0b1111011”十进制转换成二进制:v = 18 八进制转换成十进制:v = “011” 十进制转换成八进制:v = 30 十六进制
2、转换成十进制:v = “0x12” 十进制转换成十六进制:v = 8710. 请编写一个函数实现将IP地址转换成一个整数。如 10.3.9.12 转换规则为: 10 00001010 3 00000011 9 00001001 12 00001100再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?11. python递归的最大层数?12. 求结果: v1 = 1 or 3 v2 = 1 and 3 v3 = 0 and 2 and 1 v4 = 0 and 2 or 1 v5 = 0 and 2 or 1 or 4 v6 =
3、0 or Flase and 113. ascii、unicode、utf-8、gbk 区别?14. 字节码和机器码的区别?15. 三元运算规则以及应用场景?16. 列举 Python2和Python3的区别?17. 用一行代码实现数值交换: a = 1 b = 218. Python3和Python2中 int 和 long的区别?19. xrange和range的区别?20. 文件操作时:xreadlines和readlines的区别?21. 列举布尔值为False的常见值?22. 字符串、列表、元组、字典每个常见的5个方法?23. lambda表示式格式以及应用场景?24. pass的作
4、用?25. *arg和*kwarg作用26. is和=的区别27. 简述Python的深浅拷贝以及应用场景?28. Python垃圾回收机制?29. Python的可变类型和不可变类型?30. 求结果: v = dict.fromkeys(k1,k2,) vk1.append(666) print(v) vk1 = 777 print(v)31. 求结果:def num(): return lambda x:i*x for I in range(4)print(m(2) for m in num()32. 列举常见的内置函数?33. filter、map、reduce的作用?34. 一行代码实
5、现9*9乘法表35. 如何安装第三方模块?以及用过哪些第三方模块?36. 至少列举8个常见模块都有那些?37. re的match和search区别?38. 什么是正则的贪婪匹配?39. 求结果: a. i % 2 for i in range(10) b. ( i % 2 for i in range(10) )40. 求结果: a. 1 or 2 b. 1 and 2 c. 1 (2=2) d. 1 2 = 241. def func(a,b=) 这种写法有什么坑?42. 如何实现 “1,2,3” 变成 1,2,3 ?43. 如何实现1,2,3变成1,2,3 ?44. 比较: a = 1,2
6、,3 和 b = (1),(2),(3) 以及 b = (1,),(2,),(3,) 的区别?45. 如何用一行代码生成1,4,9,16,25,36,49,64,81,100 ?46. 一行代码实现删除列表中重复的值 ?47. 如何在函数中设置一个全局变量?48. logging模块的作用?以及应用场景?49. 请用代码简答实现stack 。50. 常见字符串格式化哪几种?51. 简述 生成器、迭代器、可迭代对象 以及应用场景?52. 用Python实现一个二分查找的函数。53. 谈谈你对闭包的理解?54. os和sys模块的作用?55. 如何生成一个随机数?56. 如何使用python删除一
7、个文件?57. 谈谈你对面向对象的理解?58. Python面向对象中的继承有什么特点?59. 面向对象深度优先和广度优先是什么?60. 面向对象中super的作用?61. 是否使用过functools中的函数?其作用是什么?62. 列举面向对象中带爽下划线的特殊方法,如:_new_、_init_63. 如何判断是函数还是方法?64. 静态方法和类方法区别?65. 列举面向对象中的特殊成员以及应用场景66. 1、2、3、4、5 能组成多少个互不相同且无重复的三位数67. 什么是反射?以及应用场景?68. metaclass作用?以及应用场景?69. 用尽量多的方法实现单例模式。70. 装饰器的
8、写法以及应用场景。71. 异常处理写法以及如何主动跑出异常(应用场景)72. 什么是面向对象的mro73. isinstance作用以及应用场景?74. 写代码并实现:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.Example: Given nums = 2, 7, 11, 15, target = 9, Because nums0 + nums1 = 2 + 7 = 9, return 0, 175. json序列化时,能够处理的数据类型有哪些?如何定制支持datetime类型?76. json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?77. 什么是断言?应用场景?78. 有用过with statement吗?它的好处是什么?79. 使用代码实现查看列举目录下的所有文件。80. 简述 yield和yield from关键字。