暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

20道最常被问到的 Python 面试题

原创 小小亮 2022-08-22
651

介绍

Python 是一种通用的解释型编程语言。它可用于创建 Web 应用程序,并广泛用于人工智能。由于机器学习和深度学习模型的实现,它已成为数据科学家领域的需求语言。

因此,每个有抱负的数据科学家都必须具备良好的 Python 知识。

在这篇博客中,将讨论一些面试中与 Python 相关的常见问题,以帮助您更好地掌握该主题。

TechGig.com

Python 面试题

问题一:解释列表和元组的区别。

列表是可以由非同质元素组成的容器。例如-

list1 = [1, 2, 3, 4, 'a', 'b']

元组可以由不同数据类型的元素组成,但本质上是不可变的,因此仅用于访问元素。例如——

元组 = (1, 2, 3, 4, 'a', 'b')

问题2:解释Python中模块和包的区别?

模块:包含 Python 代码的 .py 文件,是一个可执行文件。

包:它是模块的集合以及 _init_.py 文件,解释器使用该文件将其解释为一个包。

问题3:解释列表和数组的区别。

该列表可以包含多种数据类型的元素,即非同质元素。例如-List1 = [1, 2, 3, 4, 'a', 'b']

数组只能包含相同类型的元素,即同质元素。例如-

from array import *
array1 = array('i', [3, 2, 1])  
for x in array1:
     print(x)


输出:

3
2
1


其中“i”定义了数组将保存的值的类型,即无符号整数。

问题 4: Python 中的 private、protected 和 public 成员是什么?

私有成员:只能在类内访问的数据成员。它们是通过使用前缀双下划线“__”来声明的。受保护的成员:可以在类内和子类中访问的数据成员。它们是通过使用前缀单下划线“_”来声明的。


公共成员:可以从任何类访问的数据成员。

问题 5:解释 Python 中 self 的使用。

self用于引用类的当前实例,即 self 将属性与类绑定

问题 6:用 Python 描述 _init_。

_init_ 就像类的构造函数一样,每当创建类的对象时都会调用它。目的是初始化所创建对象的属性。例如-

Class people:
      def __init__(self, age)
            self.age = age
p = people(27)


问题 7:解释 python 中的切片。

slice() 函数用于获取序列的切片。它的语法是一个 slice(start, end, step)。例如-

s1 = "analytics"
x =slice(2,5)
print(s1[x])


输出:

aly


问题 8:解释 List 和 Dict 理解之间的区别。

创建列表的简洁方式称为列表推导例如 - 假设代码是:

for i in range(5):
            if i<10:
                 print(i)


理解:

 [i for i in range(5) if i < 10]


Dict comprehension中,需要用冒号和 for 分隔的两个表达式。例如-

lst1 = {1, 2, 3}
lst2 = {'a', 'b', 'c'}
dict1 = {x:y for (x,y) in zip(lst1, lst2)}
print(dict1)


输出:

{1:'c',2:'b',3:'a'}

问题 9:解释 lambda 在 Python 中的使用。

lambda 用于在 Python 中定义一个没有名称的函数。但是,它只能包含一个表达式。例如-


y = lambda x: x+ 5
print(y(5))


输出:

10

问题 10: split() 和 join() 有什么区别。

函数split()join()彼此相反,其中 split() 用于使用指定的分隔符将字符串分解为字符串列表,而 join() 用于通过定义的分隔符连接字符串的元素。例如-

str1 = 'Analytics Vidhya'
print(str1.split(" "))
print("-".join(str1.split(" ")))


输出:

['Analytics', 'Vidhya']
Analytics-Vidhya


问题 11:在 Python 中创建一个数据框。

我们可以使用以下代码在 Python 中创建一个数据框:

import pandas as pd
data = [['a', 1], ['b', 2], ['c', 3]]
df = pd.DataFrame(data, columns=['NAME', 'Number'])
print(df)


输出:

      NAME   Number
0          a              1
1          b              2
2          c              3


问题 12:编写代码以在数据框中添加新列。

可以使用以下代码添加数据框中的新列:

age = [27, 34, 56]
df['age'] = age
print(df)


输出:

      NAME   Number    age
0          a      1        27
1          b      2        34
2          c      3        56


问题 13:编写代码从数据框中删除一行。

可以使用以下代码删除上面创建的数据框中的“数字”列:


df.drop(['Number'], axis = 1)

要删除第 0,我们可以这样做:

df.drop(0)

问题 14:用 Python 读取 csv 数据。

我们可以使用命令读取 csv 文件:

import pandas as pd
Df1 = pd.read_csv(‘transport.csv’)


问题 15: 在 Python 中编写一个代码片段来反转列表和数组。

Lst1 = [1, 2, 3, 4, 5]
lst2=[] 
for i in lst1:
  lst2.insert(0,i)
print(lst2)


输出:

[5、4、3、2、1]

问题 16:编写代码以在 Python 中查找数组的形状。

可以使用以下命令找到数组的形状:arr.shape

问题 17:解释 Python 中的 zip() 函数。

Zip() -接受两个可迭代对象并将它们组合成一个可迭代对象。


lst1 = [15, 14, 13, 12, 11, 10]
lst2 = [10, 11, 12, 13, 14, 15]
x= zip(lst1, lst2)
print(set(x))


输出:

{(14, 11), (13, 12), (12, 13), (15, 10), (10, 15), (11, 14)}

问题18:解释del和remove()的区别

Del - 它从指定的索引中删除项目。

Lst1 = [40, 30, 20, 10]
Del lst1[1]


输出:

[40, 20, 10]

Remove() -它从列表中删除第一个匹配的值。

Lst1 = [40, 30, 20, 10]
Lst1.remove(30)
Print(lst1)


输出:

[40, 20, 10]

问题19:解释strip()和lstrip()的用法。

Strip() -用于删除所有提到的前导和尾随字符。例如-

Str = “--analytics vidhya--“
Print(str.strip(‘-‘))


输出:

analytics vidhya


Lstrip() -用于删除所有提到的前导字符。

print(str.lstrip(‘-‘))


输出:

Analytics vidhya--


问题 20:解释 join() 的用法。

join()的功能是将序列的元素组合在一起。例如-


lst1 = ['4','3','2','1'] 
s1 = " "
s1 = s1.join(list1)
print(s1)


输出:

4 3 2 1


结论

在这篇博客中,我们分享了一些关于 Python 的重要且常见的面试问题。以下是博客的要点:

1.我们了解Python中最常用的术语即列表、数组、元组等之间的区别。

2. 我们对 Dataframe 及其创建和操作方式有了基本的了解。

3、一些常用的函数如zip()、strip()、remove()等,已经讨论过了。


原文标题:20 Most Asked Interview Questions of Python

原文作者:Saumyab271

原文链接:https://www.analyticsvidhya.com/blog/2022/07/20-most-asked-interview-questions-of-python/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论