码迷,mamicode.com
首页 > 编程语言 > 详细

基本 Python 面试问题

时间:2019-08-26 22:45:47      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:print   尺寸   key   sys   优势   跳过   编程语言   说明符   datetime   

    • 基本 Python 面试问题 * 1. Python 中的列表和元组有什么区别? * 2. Python 的主要功能是什么? * 3. python 是编程语言还是脚本语言? * 4. Python 是一种解释性语言吗? * 5. 什么是 pep 8? * 6. python 是如何进行内存管理的? * 7. 什么是 Python 的命名空间? * 8. python 语言中 PYTHONPATH 是什么? * 9. 什么是 python 模块?在 Python 中命名一些常用的内置模块? * 10. Python 中的局部变量和全局变量 * 11. python 是否区分大小写? * 12. Python 中的类型转换 * 13. Python 中有哪些内置类型? * 14. python 中是否需要缩进? * 15. Python 中 array和 list 有什么区别? * 16. Python 中的函数是什么? * 17. init 的含义是什么? * 18.什么是 lambda 函数? * 19. Python 中的 self 是什么? * 20. break、continue、pass 的用法? * 21. [:: - 1} 的作用是什么? * 22. 如何在 Python 中随机化列表中的项目? * 23. 什么是 python 迭代器? * 24. 如何在 Python 中生成随机数? * 25. range&xrange 有什么区别? * 26. 你如何在 python 中写注释? * 27. 什么是 pickling 和 unpickling? * 28. python 中的生成器是什么? * 29. 你如何把字符串的第一个字母大写? * 30. 如何将字符串转换为全小写? * 31. 如何在 python 中注释多行? * 32. Python 中的 Docstrings 是什么? * 33. 操作符 is、not 和 in 的目的是什么? * 34. Python 中 help()和 dir()函数的用法是什么? * 35. 每当 Python 退出时,为什么不是所有的内存都被解除分配? * 36. Python 中的字典(dictionary)是什么? * 37. 如何在 python 中使用三元运算符? * 38. * args,** kwargs 是什么?我们为什么要用呢? * 39. len()的作用是什么? * 40. Python 中“re”模块的 split(),sub(),subn()这三个方法的作用是什么? * 41. 什么是负索引,为什么使用它们? * 42. 什么是 Python 包? * 43. 如何在 Python 中删除文件? * 44. 什么是 python 的内置类型例如:使用负索引取出列表的最后一个数? * 45. NumPy 阵列在(嵌套)Python 列表中提供了哪些优势? * 46. 如何将值添加到 python array? * 47. 如何删除 python array的值? * 48. Python 有 OOps 概念吗? * 49. 深拷贝和浅拷贝有什么区别? * 50. 如何在 Python 中实现多线程? * 51. python 源代码必须经过编译才能进行? * 52. 什么是 Python 库?举几个例子。 * 53. Python 字符串 split() 方法? * 54. 如何在 python 中导入模块? * OOPS 面试问题 * 55. 解释一下 Python 中的继承。 * 56. 如何在 Python 中创建类? * 57. 什么是猴子补丁? * 58. python 是否支持多重继承? * 59. Python 中的多态是什么? * 60. 在 Python 中怎样定义封装? * 61. 你如何在 Python 中进行数据抽象? * 62. python 是否使用了访问说明符? * 63. Python 中 pass 是什么? * 64. object()有什么作用? * 基本 Python 编码 * 65. 用 Python 编写程序来执行冒泡排序算法。 * 66. 用 Python 编写程序来生成 Star 三角形。 * 67. 编写一个程序,用 Python 生成 Fibonacci 系列。 * 68. 用 Python 编写程序来检查数字是否为素数。 * 69. 用 Python 编写程序来检查序列是否是回文序列。 * 70. 写一个单行,用于计算文件中大写字母的数量。即使文件太大而无法放入内存,你的代码也应该可以正常工作。 * 71. 在 Python 中为数值数据集编写排序算法。 * 72. 查看下面的代码,记下 A0,A1,… An 的最终值。 * Python 库面试问题 * 73. 解释 Flask 是什么及其好处? * 74. Django 比 Flask 好吗? * 75. Django,Pyramid 和 Flask 之间的差异。 * 76. 讨论 Django 架构。 * 77. 解释如何在 Django 中设置数据库。 * 78. 举例说明如何在 Django 中编写 VIEW? * 79. 提及 Django 模板的组成部分。 * 80. 在 Django 框架中解释会话的使用? * 81. Django 中 Model 的继承方式。 * Web Scraping - Python 面试问题 * 82. 如何使用已知的 URL 地址本地保存图像? * 83. 如何获取任何网址或网页的 Google 缓存时限? * 84. 从 IMDb 前 250 电影页面中删除数据。只有电影名称,年份和评级字段。 * 数据分析 - Python 面试问题 * 85. 什么是 Python 中的 map 函数? * 86. 为什么要使用 NumPy? * 87. 如何在 NumPy array 中获得最大值的索引? * 88. 你如何用 Python / NumPy 计算百分位数? * 89. NumPy 和 SciPy 有什么区别? * 90. 如何使用 NumPy / SciPy 制作 3D 绘图/可视化? * 91. 检查给定数字n是否为2或0的幂 * 92. 计算将A转换为B所需的位数 * 93. 在重复元素array中查找两个非重复元素 * 94. 找到具有相同设置位数的下一个较大和下一个较小的数字 * 95. 给定 n 个项目的重量和值,将这些物品放入容量为 W 的背包中背包中的最大总价值。 * 96. 给定一根长度为 n 英寸的杆和一系列价格,其中包含所有尺寸小于 n 的尺寸的价格。确定通过切割杆和销售件可获得的最大值。 * 97. 给定两个字符串 str1 和 str2 以及可以在 str1 上执行的操作。查找所需的最小编辑数(操作)将‘str1‘转换为‘str2‘ * 98. 给定 0 和 1 的二维矩阵,找到最大的广场,其中包含全部 1。 * 99. 找到两者中存在的最长子序列的长度。子序列是以相同的相对顺序出现的序列,但不一定是连续的。 * 100. 找到给定序列的最长子序列的长度,以便对子序列的所有元素进行排序,按顺序递增。 * 101. 给定成本矩阵成本[] []和成本[] []中的位置(m,n), * 102. 将一个集合划分为两个子集,使得子集和的差异最小 * 103. 给定一组非负整数和一个值和,确定是否存在给定集合的子集,其总和等于给定总和。 * 104. HackerRank 问题算法 DP * 105. 给定距离 dist,计算用 1,2 和 3 步覆盖距离的总方式 * 106. 在字符板中查找所有可能的单词 * 107. 广度优先搜索遍历 * 108. 深度优先搜索遍历 * 109. 在有向图中检测周期 * 110. 检测无向图中的循环 * 111. Dijkstra的最短路径算法 * 112. 在给定的边缘加权有向图中找出每对顶点之间的最短距离 * 113. 图形实现 * 114. Kruskal的最小生成树算法 * 115. 拓扑排序 * 116. 以下哪个语句创建字典?(多选题) * 117. 其中哪一个是分区? * 118. 标识符的最大可能长度是多少? * 119. 为什么不鼓励以下划线开头的局部变量名? * 120. 以下哪项是无效声明? * 121. 以下是什么Output? * 122. 假设 list1 是[2,33,222,14,25],什么是 list1 [-1]? * 123. 要打开文件 c:scores.txt 进行写作,我们使用 * 124. 这段代码的 Output 是什么? * 125. try-except-else 的 else 部分什么时候执行? * 126. 两个字符串是否是变位词 * 127. 单链表逆置 * 128. 前序中序求后序 * 129. 求两棵树是否相同 * 130. 求最大树深 * 131. 前中后序遍历 * 132. 二叉树节点 * 133. 层次遍历 * 134. 深度遍历 * 135. 找零问题 * 136. 快排 * 137. 合并两个有序列表 * 138. 农场里有鸡和兔子,总共有 35个脑袋和 94条腿,计算一下兔子和鸡分别有多少只? * 139. 写一个程序打印出[1、2、3]所有的排列 * 140. 请编写一个程序,它接受来自控制台的字符串并以相反的顺序打印。
      基本 Python 面试问题
  1. Python 中的列表和元组有什么区别?
    列表是可变的,即可以编辑它们;元组是不可变的(元组是无法编辑的列表)。

列表比元组慢;元组比列表更快。

列表语法:list1 = [10,‘Chelsea‘,20]; 元组语法:tup1 =(10,‘Chelsea‘,20)。

  1. Python 的主要功能是什么?
    Python 是一种解释型语言。这意味着,与 C 语言及其衍生语言不同,Python 在运行之前不需要进行编译。其他解释性语言包括 PHP 和 Ruby。

Python 是动态类型的,当你声明变量时,你不需要声明变量的类型。你可以直接编写类似 x=111,或者 x="I‘m a string" 这样的代码,程序不会报错。

Python 非常适合面向对象的编程(OOP),因为它允许类的定义以及组合和继承。Python 没有访问说明(如 C ++ 的 public,private)。

在 Python 中,函数是第一类对象。这意味着它们可以分配给变量,从其他函数返回并传递给函数。类也是第一类对象。

编写 Python 代码很快,但运行速度通常比编译语言慢。不过,Python 允许加入基于 C 语言编写的扩展,因此我们可以优化代码。numpy 就是一个很好的例子,它的运行速度相当快的,因为很多算数运算并不通过 Python 实现。

Python 用途非常广泛—— Web 应用程序、自动化、科学建模、大数据应用程序等等。它也经常被称作“胶水语言”,以使其他语言和组件发挥得很好。

  1. python 是编程语言还是脚本语言?
    Python 是一种脚本语言,但实际上也可以对它进行编译。

  2. Python 是一种解释性语言吗?
    Python 是一种解释型语言。它的源代码可以直接运行,python 解释器会把源代码转换成中间语言,之后翻译成机器码再执行。

  3. 什么是 pep 8?
    PEP 8 是一种编程规范。对每一个段落(level)可以缩进,pep 8 给出的规范是 4 spaces。

  4. python 是如何进行内存管理的?
    python 内部使用引用计数,来保持追踪内存中的对象,Python 内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为 0 时,它被垃圾回收。

  5. 什么是 Python 的命名空间?
    命名空间是一个系统,它为 Python 中的每个对象提供唯一的名称。对象可以是变量或方法。Python 本身以 Python 字典的形式维护命名空间。

  6. python 语言中 PYTHONPATH 是什么?
    PYTHONPATH 是 Python 搜索路径,默认我们 import 的模块都会从 PYTHONPATH 里面寻找。

  7. 什么是 python 模块?在 Python 中命名一些常用的内置模块?
    Python 模块是包含 Python 代码的文件。此代码可以是函数类或变量。Python 模块是包含可执行代码的 .py 文件。

一些常用的内置模块是:

getpass
os
sys
subprocess
hashlib
json
pickle
shutil
time
datetime
re
random
configparser
traceback
yaml
itertools
logging

  1. Python 中的局部变量和全局变量
    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

例:

a=2 #Global Variable
def add():
b=3 #Local Variable
c=a+b
print(c)
add()
Output: 5

  1. python 是否区分大小写?
    是的。Python 是一种区分大小写的语言。

  2. Python 中的类型转换
    类型转换是指将一种数据类型转换为另一种数据类型。

int() - 将任何数据类型转换为整数类型

float() - 将任何数据类型转换为 float 类型

ord() - 将字符转换为整数

hex() - 将整数转换为十六进制

oct() - 将整数转换为八进制

tuple() -此函数用于转换为元组。

set() -此函数在转换为 set 后返回类型。

list() - 此函数用于将任何数据类型转换为列表类型。

dict() - 此函数用于将顺序元组(键,值)转换为字典。

str() - 用于将整数转换为字符串。

complex() - 用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

  1. Python 中有哪些内置类型?
    Python 的不可变内置数据类型

数字
字符串
元组
Python 的可变内置数据类型

名单
字典

  1. python 中是否需要缩进?
    Python 需要缩进。Python 语法允许代码块随意缩进几个空格,但是位于同一个代码块中的所有语句必须保持相同的缩进,不能一下缩进 3 个空格,一下缩进 4 个空格。

  2. Python 中 array和 list 有什么区别?
    list 是列表可以通过索引查找数值,但是不能对整个列表进行数值运算。

In [96]: b=[1,2]

In [97]: b[1]
Out[97]: 2
In [98]: type(b)
Out[98]: list
In [99]: b+b
Out[99]: [1, 2, 1, 2]
array 是数组,也可以通过索引值查找数据,但是能对整个数组进行数值运算.

In [100]: a=np.array([1,2
In [101]: a[1]
Out[101]: 2
In [102]: type(a)
Out[102]: numpy.ndarray
In [103]: a+a
Out[103]: array([2, 4])

  1. Python 中的函数是什么?
    函数是一个代码块,只有在被调用时才会执行。在 Python 中,定义一个函数要使用 def 语句。

例:

def nu():
pass

  1. init 的含义是什么?
    在类实例创建的时候自动会被执行的。这里只是自己重定义了 init 的行为。

class Obj:
def init():
print 1
obj = Obj() #这时候调用__init__这个方法
18.什么是 lambda 函数?
lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。

例:

list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
[0, -1, -2, 3, -4, 5, -6]

  1. Python 中的 self 是什么?
    self 是类的实例或对象。在 Python 中,这显然包含在第一个参数中。但是,Java 中的情况并非如此,它是可选的。它有助于区分具有局部变量的类的方法和属性。

init 方法中的 self 变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。

  1. break、continue、pass 的用法?
    break:当满足某些条件并且控制转移到下一个语句时允许循环终止。
    continue:允许在满足某些特定条件时跳过循环的某些部分,并将控件转移到循环的开头。
    pass:在语法上需要一些代码块时使用,但是你想跳过它的执行。这基本上是一个空操作。执行此操作时没有任何反应。
  2. [:: - 1} 的作用是什么?
    [:: - 1] 用于反转 array 或序列的顺序。

例如:

import array as arr
My_Array=arr.array(‘i‘,[1,2,3,4,5])
My_Array[::-1]
Output:array(‘i‘,[5,4,3,2,1])
[:: - 1] 重新打印有序数据结构的反转副本,例如array或列表。原始array或列表保持不变。

  1. 如何在 Python 中随机化列表中的项目?

基本 Python 面试问题

标签:print   尺寸   key   sys   优势   跳过   编程语言   说明符   datetime   

原文地址:https://www.cnblogs.com/abdm-989/p/11415286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!