无论您是面试应聘者,准备应聘工作还是只是精通Python,我都认为这份清单将是无价之宝。
问题是无序的。 让我们开始。
1.列表和元组有什么区别?
在我进行过的每次python /数据科学访谈中,都曾问过我这个问题。 像手背一样知道答案。
列表是可变的。 创建后可以对其进行修改。
元组是不可变的。 一旦创建了元组,就不能对其进行更改
列表有顺序。 它们是有序序列,通常是相同类型的对象。 即:按创建日期排序的所有用户名,[" Seth"," Ema"," Eli"]
元组具有结构。 每个索引可能存在不同的数据类型。 即:内存中的数据库记录,(2," Ema"," 2020–04–16")#id,名称,created_at
2.如何进行字符串插值?
在不导入Template类的情况下,有3种插值字符串的方法。
3." is"和" =="有什么区别?
在我的python生涯的早期,我以为它们是相同的……您好错误。 因此,为了记录,检查身份和==检查相等性。
我们将通过一个例子。 创建一些列表并将其分配给名称。 请注意,b指向与下面的a相同的对象。
检查是否相等,并注意它们是否相等。
但是它们具有相同的身份吗? 不。
我们可以通过打印其对象ID进行验证。
c与a和b具有不同的ID。
4.什么是装饰器?
每次面试中我都被问到另一个问题。 它本身值得发布,但是如果您可以逐步编写自己的示例,那么您已经准备好了。
装饰器允许通过将现有功能传递给装饰器,从而将功能添加到现有功能,该装饰器将执行现有功能以及其他代码。
我们将编写一个装饰器,该装饰器会在调用另一个函数时记录日志。
编写装饰器函数。 这需要一个函数func作为参数。 它还定义了一个函数log_function_drawn,该函数调用func()并执行一些代码print(f’{func}被调用。’)。 然后返回定义的函数
让我们编写其他函数,我们最终将装饰器添加到(但尚未)。
现在将装饰器添加到两者。
了解现在如何仅通过在其上面添加@logging就能轻松地将日志添加到我们编写的任何函数中。
5.解释范围功能
Range生成一个整数列表,有3种使用方式。
该函数接受1到3个参数。 请注意,我将每种用法都包装在列表推导中,以便我们看到生成的值。
6.定义一个名为car的类,具有2个属性,即"颜色"和"速度"。 然后创建一个实例并返回速度。
7. python中的实例,静态和类方法之间有什么区