科技行业正以前所未有的速度增长。我们看到市场上发布了新的软件产品。
无论您是初学者还是经验丰富的Python开发人员,机会都是非常多的,如何把握?。
唯一的要求:必须在Python编程面试中使用您的技能并证明自己。
1、假设我们有两个数组,如下所述。我们应该如何添加两个数组的对应项?

2、什么是*args和**kwargs?给每个例子。
这两个都用于在函数中传递可变数量的参数。
我们*args用于非关键字参数,而**kwargs用于基于关键字的参数。

3、如何检查模块中所有可用的功能和属性?
我们可以在dir()函数内部传递模块名称,以检索其函数和属性的名称。
例如:
假设我们有一个名为m.py的模块,其中包含一个变量和两个用户定义的函数。

在这里您可以看到该dir()函数还获取了所有内置的属性和方法。
4、Python中的“文字”是什么?
在Python中,文字是分配给变量或常量的数据/值。
例如,Python有四种不同类型的文字:
- 数字文字
- 字符串文字
- 布尔文字
- 特殊文字
5、如何连接两个元组?
元组的串联是指我们可以连接两个或更多元组的过程。例如,假设我们有两个元组:

利用加号将它们连接在一起。
此语句将tuple_2在的末尾添加的元素tuple_1。

像这样:

6、Python中的lambda是什么?
Lambda是Python中的一个小函数,只能处理一个表达式。
通常,在另一个函数中使用lambda函数更合适。
可以根据需要添加任意数量的参数。使用lambda函数将14与通过参数传递的数字相乘:

7、什么是切片?
切片是检索字符串,数组,列表或元组的一部分的过程。传递一个开始和结束索引来指定我们感兴趣的数据的位置。
注意:开始索引处的值包括在结果中,而结束索引处的值被排除在外。
我们甚至可以传递一个步进值来跳过一些数据。例如,从数组中检索所有其他项。
在以下代码段中,使用方括号[ ]进行切片。我们传递了三个参数,并用冒号:将它们分开。第一个参数指定切片的开始位置,第二个参数用于标记结束,最后一个参数用于定义step。

切片的所有三个参数都是可选的。如果我们不指定起始位置,那么Python会将0索引作为起始位置。同样,当我们跳过第二个参数时,将使用数组/字符串/元组/列表的长度。而默认情况下,Python将1作为步骤。
8、什么是Python装饰器?
Python装饰器是一项功能,用于增强现有功能或类的功能。
当开发人员想要动态更新功能的工作而不实际对其进行修改时,这是首选方法。
假设我们有一个打印网站开发人员名称的函数。
但是,现在的要求是向用户显示欢迎消息,然后显示开发人员名称。
我们可以在装饰器功能的帮助下添加此功能。

在这里welcome_user()是一个装饰器,而这dev_name()是我们动态更新的主要功能。
输出:

9、sort()和sorted()函数使用哪种算法?
sort()和sorted()函数实现Timsort算法。这是因为该排序算法非常稳定且高效。在最坏的情况下,Big O的值为O(N log N)。
10、如何调试Python程序?
默认情况下,Python带有一个称为pdb的内置调试器。
我们可以通过执行类似下面提到的命令来开始调试任何Python文件。

11、什么是酸洗和去渍?
在Python中,有一个非常流行的库叫做pickle。它用于对象序列化。这意味着它将Python对象作为输入并将其转换为字节流。转换Python对象的整个过程称为酸洗。
另一方面,去渍是相反的。此处,字节流被接受为输入并转换为对象层次结构。
12、什么是列表理解?并提供一个例子
列表理解是创建Python列表的快速方法。
无需手动为每个索引输入值,我们只需通过遍历数据来填充列表即可。
假设我要创建一个列表,其每个索引将按顺序包含我名字中的字母。

13、(i for i in (54, 6, 71))是元组理解吗?
在Python中,没有这样的元组理解概念。
14、什么是Python中的猴子补丁?
在运行时动态更改类或模块的过程称为“猴子修补”。

实际上调用过func()method,但是我收到的输出来自welcome()?
15、预测以下代码的输出?然后解释你的答案

说明:
该代码中的主要混淆点在最后一条print()语句中。
在打印之前,我们只是更新x了Parent该类中的值。它会自动更新的值,Child_2.x但不会更新Child_1.x。这是因为我们已经设置了的值Child_1.x。
换句话说,Python首先尝试使用子类的属性/方法。如果在子类中找不到属性/方法,则仅搜索父类。
16、如何在二叉树中显示给定节点的祖先?
假设我们有这个二叉树。现在,检索65的祖先,并使用Python代码显示它们。

