开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 20 天,点击查看活动详情
1. 什么是 PEP 8,为什么有用?
PEP 是 Python Enhancement Proposal 的首字母缩写。它是一份官方设计文档,包含一组指定如何格式化 Python 代码的规则,并有助于实现最大的可读性。PEP 8 很有用,因为它记录了 Python 代码的所有样式指南。这是因为为 Python 开源社区做贡献需要您
严格遵守这些风格指南。
2. Python元组和列表有什么区别?
Python 列表和元组的区别如下:
3. Python 中的作用域是什么?
Python 中的范围是 Python 代码所在的代码块。虽然名称空间唯一标识程序内的对象,但它们还包括一个范围,使我们能够在没有前缀的情况下使用它们的对象。在程序执行期间创建的范围的几个示例是:
全局作用域: 它指的是程序中最顶层的作用域。这些是自从它们在 Python 代码的主体中开始以来在整个代码执行过程中可用的全局变量。
局部作用域: 指当前函数内部可用的局部变量,只能在局部使用。
注意:本地作用域对象和变量可以通过诸如 . 之类的关键字与全局作用域对象同步
global。
4. 数组和列表有什么区别?
5. 在 Python 中是什么*args意思**kwargs?
我们过去常常*args在 Python 函数中传递可变长度的非关键字参数。(*)默认情况下,我们应该在参数名称前使用星号来传递可变数量的参数。星号表示可变长度,args 是约定俗成的名称。您可以使用任何其他名称。
代码示例:
def addition(e, f, *args):
add = e + f
for num in args:
add += num
return add
print(addition(1, 2, 3, 4, 5))
-->
15
我们过去常常**kwargs在 Python 函数中传递可变数量的关键字参数。默认情况下,我们应该在参数名称前使用双星号 ( ) 来表示一个 kwargs 参数。
代码示例:
def forArguments(**kwargs):
for key, value in kwargs.items():
print(key + ": " + value)
forArguments(arg0 = "arg 00", arg1 = "arg 11", arg2 = "arg 22")
-->
arg0: arg 00
arg1: arg 11
arg2: arg 22
6. 什么是 lambda 函数?
lambda 函数基本上是一个内联匿名函数(即,没有名称定义),用一个可以接受多个参数的表达式表示。它用于在运行时创建函数对象。
然而,与普通函数不同的是,它们只计算并返回一个表达式。
此外,代替用于创建函数的传统def关键字,lambda 函数使用lambda关键字。我们通常使用 lambda 函数,其中仅在短期内需要函数。它们可以用作:
add_func = lambda x,b : x+b
print(add_func(3,5))
8
7. Python 是一种编程语言还是脚本语言?
Python 通常被认为是一种通用的编程语言,但我们也可以用它来编写脚本。脚本语言也是一种编程语言,用于在执行程序时自动执行涉及相似类型步骤的重复任务。Python 脚本语言的文件扩展名有不同的类型,例如.py, .pyc, .pyd, .pyo, .pyw, and .pyz.
8. 我们如何在 Python 中管理内存?
我们通过使用私有顶部空间的Python 内存管理器处理 Python 中的内存管理。这是因为所有 Python 对象和数据结构都位于私有堆中。由于我们作为程序员无权访问这个私有堆,因此 Python 解释器会处理这个问题。
此外,核心 API 还允许我们访问一些工具来进行编码。
Python 还包括一个内置的垃圾收集器,用于为私有堆空间回收未使用的内存。
9. Python 中的关键字是什么?
Python 中的关键字是具有特殊含义的保留字。它们通常用于定义不同类型的变量。我们不能使用关键字代替变量或函数名称。
Python 中有35 个保留关键字:
0.什么是初始化?
在 Python 中,init是一种方法或构造函数,用于在创建新对象或类的实例时自动分配内存。所有类都__init__包含该方法。
代码示例:
# A Sample class with init method
class Alibi:
# init method or constructor
def __init__(self, name):
self.name = name
# Sample Method
def hello_hi(self):
print('Hello, my name is', self.name)
# Creating different objects
p1 = Alibi('NIKE')
p2 = Alibi('PUMA')
p3 = Alibi('ADIDAS')
p1.hello_hi()
p2.hello_hi()
p3.hello_hi()
Hello, my name is NIKE
Hello, my name is PUMA
Hello, my name is ADIDAS
11. Python 中的类型转换是什么?
Python 中的类型转换是将一种数据类型更改为另一种数据类型的过程。例如:
dict(): 用于将顺序为 (key, value) 的元组转换为字典。str():用于将整数转换为字符串。
12. 什么是 Python 中的迭代器?
Python 中的迭代器是一个对象,用于迭代数据结构(如列表、元组、字典和集合)中的有限数量的元素。迭代器允许我们遍历集合的所有元素并一次返回一个元素。
迭代器对象通过该方法初始化iter(),并使用该next()方法进行迭代。
代码示例:
print("List Iteration")
l = ["educative", "for", "learning"]
for i in l:
print(i)
List Iteration
educative
for
learning
13. 你对 NumPy 了解多少?
NumPy 是 Numerical Python 的缩写。它是用于处理数组的最流行、开源、通用和强大的 Python 包之一。NumPy 自带几个高度优化的函数,具有高性能和强大的 n 维数组处理能力。
NumPy 可用于三角运算、代数和统计计算、科学计算等。
14. 什么是 Python 装饰器?
Python 中的装饰器是一种函数,允许用户在不修改其结构的情况下向现有对象添加新功能。 您通常在定义要装饰的函数之前调用装饰器。
15.range工作原理是什么?
在 Python 中,range()返回一个不可变的数字序列。它通常用于创建for循环。它有几个变体。为了更好地理解,让我们来看几个例子:
# Prints a list of numbers from 0 to 9
# Note: by default the list starts from 0 and default step is of size 1
print(list(range(10)))
# Prints a list of numbers from 5 to 8
# step is not provided hence it is 1 by default
print(list(range(5, 9)))
# Prints a list of numbers from 2 to 20
# with a step of size 2
print(list(range(2, 21, 2)))
# Using range to create a for loop
for i in range(10):
print("Looping =", i)
-->
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 6, 7, 8]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Looping = 0
Looping = 1
Looping = 2
Looping = 3
Looping = 4
Looping = 5
Looping = 6
Looping = 7
Looping = 8
Looping = 9
16.什么是Python模块?
Python 模块是包含要在程序中使用的 Python 定义和语句的文件。模块可以定义函数、类和变量。通过保存扩展名为 的文件创建 Python 模块。.py.此文件包含可在代码中以及跨模块重用的类和函数。它们还可以包含可运行代码。
Python 模块的优点包括:
代码组织: 代码更容易理解和使用。
代码可重用性: 其他模块可以重用模块中使用的功能,从而消除了重复的需要。
17、什么是pickling和unpickling?
Pickling是 Python 中的一个过程,其中对象层次结构被转换为字节流。相反, Unpickling与酸洗相反。当字节流转换回对象层次结构时会发生这种情况。腌制也称为“序列化”或“编组”。
Pickling 使用 Python 中的 pickle 模块。pickle.dump()该模块具有将 Python 对象转储到磁盘以实现 pickling 的方法。Unpickling 使用该方法pickle.load()将数据检索为 Python 对象。
18. Python 中的文档字符串是什么?
文档字符串或文档字符串是用于记录特定代码段(如 Python 模块、函数和类)的多行字符串。
它们帮助我们理解函数、类、模块或方法的作用,而无需阅读实现的细节。与传统的代码注释不同,文档字符串描述的是函数的作用,而不是它的工作原理。
我们将 docstring 写在三个双引号中,(""")如下例所示。
将两个整数相加:
def add(a, b):
"""
Add up two integer numbers.
This function simply wraps the ``+`` operator, and does not
do anything else.
Examples
--------
>>> add(2, 2)
4
"""
return a + b
我们可以使用以下方法访问文档字符串:
__doc__对象的方法- 内置帮助功能
19. 什么是 PYTHONPATH?
它是导入模块时使用的唯一环境变量。PYTHONPATH 充当 Python 解释器的指南,以确定在给定时间加载哪个模块。它用于检查各种目录中是否存在导入的模块。
启动 Python 解释器会在当前工作目录中打开 PYTHONPATH。
20.什么是Python包?
Python 包是模块的集合。相互关联的模块通常分组在同一个包中。当您在程序中需要来自外部包的模块时,可以导入它,然后根据需要使用它的特定模块。包有助于避免模块名称之间的冲突。您需要将包名称添加为模块名称的前缀,并用点连接以导入任何模块或其内容。
Python 面试准备的后续实用步骤
因为面试通常是找工作中压力最大的部分,所以进行深入的准备和充分的练习将帮助您获得信心并成功应对。
通过练习上述问题,您可以熟悉常见的 Python 概念。下一个实际步骤应该包括练习这些问题以及编码示例。通过充分的练习,您将在面试中脱颖而出,离梦想的工作更近一步!
在 Educative,我们的目标是通过为您提供动手实践的互动学习平台,使面试过程更加顺畅。您可以通过我们的综合课程和 Python 教程了解有关 Python 的更多信息,包括数据结构、内置函数、Web 开发、运行时、编译器、Python 库、数据科学、Python 机器学习等。通过浏览器内的实时编码环境与材料互动,解决您的知识空白,以帮助积极保留和应用您需要学习的内容。