置顶 Python 2025 年面试问题与答案 (PDF)
这里有 Python 为应届毕业生和有经验的求职者提供面试问题和答案,帮助他们获得理想的工作。
Python 应届毕业生面试基本问题
1)什么是 Python? 使用 Python?
Python 是一种具有对象、模块、线程、异常和自动内存管理的编程语言。python的优点是简单易用、可移植、可扩展、内置数据结构、开源。
2)什么是 PEP 8?
PEP 8 是一种编码约定,是一套关于如何编写代码的建议 Python 代码更具可读性。
3)什么是酸洗(pickling)和反酸洗(unpickling)?
Pickle 模块接受任何 Python 对象并将其转换为字符串表示形式,然后使用 dump 函数将其转储到文件中。这个过程称为 pickling。而检索原始 Python 从存储的字符串表示形式中取出对象的过程称为反序列化。
4) 怎么样 Python 解释?
Python 语言是一种解释型语言。 Python 程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,然后再将其翻译成必须执行的机器语言。
5)如何管理内存 Python?
Python 内存管理 Python 私有堆空间。全部 Python 对象和数据结构位于私有堆中。程序员无法访问这个私有堆,解释器负责处理此问题 Python 私有堆。
分配 Python 堆空间 Python 对象是由 Python 内存管理器。核心 API 为程序员提供了一些工具来编写代码。
Python 还具有内置垃圾收集器,可回收所有未使用的内存并释放内存并使其可用于堆空间。
6)有哪些工具可以帮助查找错误或执行静态分析?
PyChecker 是一个静态分析工具,可以检测 Python 源代码并警告错误的风格和复杂性。Pylint 是另一个验证模块是否符合编码标准的工具。
7)什么是 Python 装饰者?
A Python 装饰器是我们在 Python 语法可以轻松改变功能。
8)列表和元组有什么区别?
列表和元组的区别在于列表可变,而元组不可变。例如,元组可以进行哈希处理,作为字典的键。
9) 参数如何按值或按引用传递?
所有 Python 是一个对象,所有变量都持有对该对象的引用。引用值取决于函数。因此,您无法更改引用的值。但是,如果对象是可变的,则可以更改对象。
10)什么是字典和列表推导?
它们是语法构造,用于简化基于现有可迭代对象的字典或列表的创建。
11)python 提供了哪些内置类型?
Python 提供两种内置类型:1)可变 (Mutable) 和 2)不可变 (Immutable)。
可变的内置类型有:
- 列表
- 套数
- 字典
- 不可变的内置类型
- 琴弦
- 元组
- Numbers
不可变的内置类型包括:
- 琴弦
- 元组
- Numbers
12)解释命名空间 Python
In Python,每个引入的名称都有一个可以挂载的位置。这被称为命名空间。它就像一个盒子,变量名称与放置的对象相对应。每当搜索出变量时,就会搜索这个盒子以获取相应的对象。
13)lambda 是什么 Python?
它是一个单表达式匿名函数,通常用作内联函数。
14)为什么python中的lambda形式没有语句?
Python 中的 lambda 形式没有语句,因为它用于创建新的函数对象,然后在运行时返回它们。
15)解释传入 Python
Pass 表示无操作 Python 语句,或者说,它是复合语句中的一个占位符,在那里应该留有空白,并且不需要在那里写任何内容。
16)在 Python 什么是迭代器?
In Python,迭代器用于迭代一组元素,像列表这样的容器。
17)单元测试是什么 Python?
单元测试框架 Python 被称为 unittest。它支持共享设置、自动化测试、测试的关闭代码、将测试聚合到集合中等。
18)解释切片 Python?
从列表、元组、字符串等序列类型中选择一系列项目的机制称为切片。
19)什么是生成器 Python?
实现迭代器的方法称为生成器。它与普通函数类似,只不过在函数中生成表达式。
20) docstring 是什么 Python?
A Python 文档字符串称为 docstring,它是一种记录方式 Python 函数、模块和类。
Python 有经验的面试问题
21)如何复制对象 Python?
复制对象 Python, 你可以试试 copy.copy ()
or copy.deepcopy()
对于一般情况。您无法复制所有对象,但可以复制其中大部分。
22)负指数是什么意思 Python?
Python 序列可以以正数和负数进行索引。对于正数索引,0 是第一个索引,1 是第二个索引,依此类推。对于负数索引,(-1) 是最后一个索引,(-2) 是倒数第二个索引,依此类推。
23)如何将数字转换为字符串?
为了将数字转换为字符串,请使用内置函数 str().
如果想要八进制或十六进制表示,请使用内置函数 oct() 或 hex()。
24)xrange 和 range 有什么区别?
Xrange 返回 xrange 对象,而 range 返回列表并使用相同的内存,无论范围大小是多少。
25)什么是模块和包 Python?
In Python模块是构建程序的方式。每个 Python 程序文件是一个模块,它导入其他模块,如对象和属性。
文件夹 Python 程序是模块的包。包中可以有模块或子文件夹。
26)局部变量和全局变量的规则是什么? Python?
以下是本地和全球的规则 中的变量 Python:
局部变量:如果在函数主体的任何地方为变量分配了新值,则假定该变量是局部的。
全局变量:那些仅在函数内部引用的变量是隐式全局的。
27)如何跨模块共享全局变量?
要在单个程序中跨模块共享全局变量,请创建一个特殊模块。在应用程序的所有模块中导入配置模块。该模块将作为全局变量跨模块使用。
28)解释如何制作 Python 脚本可以在 Unix 上执行吗?
做一个 Python 脚本 在 Unix 上可执行,你需要做两件事,
脚本文件的模式必须是可执行的,并且第一行必须以#开头(#!/usr/local/bin/python)
29)解释如何删除文件 Python?
通过使用命令 os.remove (filename)
or os.unlink(filename)
30)解释如何在 Python?
生成随机数 Python,您需要将命令导入为
import random random.random()
返回 [0,1) 范围内的随机浮点数
31)如何访问用 Python 来自 C?
您可以访问用以下方式编写的模块 Python 通过以下方法从 C 开始,
Module = PyImport_ImportModule("<modulename>");
32)在 Python?
它是一个 Floor Division 运算符,用于将两个操作数相除,结果为仅显示小数点前数字的商。例如,10//5 = 2 和 10.0//5.0 = 2.0。
33)列举使用 Python
以下是使用 Python:
- Python 包含适用于大多数互联网平台的庞大标准库,例如电子邮件、HTML 等。
- Python 不需要明确 内存管理 解释器本身会为新变量分配内存并自动释放它们
- 使用方括号,易于阅读
- 易于初学者学习
- 拥有内置数据类型可以节省声明变量的编程时间和精力
34)提到 split 函数的用法 Python
split 函数的使用 Python 它使用定义的分隔符将字符串拆分为更短的字符串。它给出字符串中所有单词的列表。
35)Django、Pyramid 和 Flask 有什么区别?
Flask 是一个“微框架”,主要针对要求较简单的小型应用程序构建。在 Flask 中,您无需使用外部库。Flask 可以直接使用。
Pyramids 是为大型应用程序构建的。它提供了灵活性,让开发人员可以使用适合其项目的工具。开发人员可以选择数据库、URL 结构、模板样式等。与 Pyramid 一样,Django 也可用于大型应用程序。它包含一个 ORM。
Python Flask 面试问题与解答
36)解释Flask及其优点
Flask 是一个 Web 微框架,用于 Python 基于“Werkzeug、Jinja 2 和良好意图”BSD 许可。Werkzeug 和 jingja 是其两个依赖项。
Flask 是微框架的一部分。这意味着它几乎不依赖外部库。它使框架变得轻量,同时对更新的依赖性很小,安全漏洞也更少。
37)什么是Flask-WTF,其功能是什么?
Flask-WTF 提供与 WTForms 的简单集成。Flask WTF 的功能包括:
- 与 WTFforms 集成
- 使用 CSRF 令牌保护表单
- 全局 CSRF 保护
- 国际化整合
- Recaptcha 支持
- 使用 Flask Uploads 进行文件上传
38)解释一下Flask脚本的常见工作方式是什么?
flask脚本常见的工作方式是:
- 它应该是你的应用程序的导入路径
- 或者通往 Python 文件
39)解释如何在 Flask 中访问会话?
会话基本上允许您记住从一个请求到另一个请求的信息。在 Flask 中,它使用签名的 cookie,以便用户可以查看会话内容并进行修改。只要用户拥有密钥 Flask.secret_key,就可以修改会话。
40) Flask 是 MVC 模型吗?如果是,请给出一个示例来展示你的应用程序的 MVC 模式?
基本上,Flask 是一个极简框架,其行为与 MVC 框架相同。因此 MVC 非常适合 Flask,我们将在以下示例中考虑 MVC 模式
从烧瓶进口烧瓶
app = Flask(_name_) @app.route("/") Def hello(): return "Hello World" app.run(debug = True) |
在此代码中,配置部分将来自 flask import Flaskapp = Flask(_name_) 查看部分将 @app.route("/") Def hello(): return "Hello World" 当你的模型或主要部分将 |
41)解释数据库连接 Python 烧瓶?
Flask 支持数据库驱动的应用程序 (RDBS)。这样的系统需要创建模式,这需要将 shema.sql 文件导入到 sqlite3 命令中。因此,您需要安装 sqlite3 命令才能在 Flask 中创建或启动数据库。
Flask 允许以三种方式请求数据库
- 在请求之前(): 它在请求之前被调用并且不传递任何参数
- 请求之后(): 它在请求后被调用,并传递将发送给客户端的响应
- 拆卸请求(): 它在引发异常且无法保证响应的情况下被调用。它们在响应构造后被调用。它们不允许修改请求,并且它们的值会被忽略。
42)如果您有多个 Memcache 服务器,其中一个包含数据且发生故障,它会尝试获取这些数据吗?
故障服务器中的数据不会被删除,但有自动故障功能,您可以为多个节点配置此功能。故障转移可以在任何类型的套接字或 Memcached 服务器级错误期间触发,而不会在添加现有密钥等常规客户端错误期间触发。
43)解释如何最大限度地减少 Memcached 服务器中断 Python 发展?
- 当一个实例发生故障时,其中几个实例也会发生故障,当客户端发出请求时重新加载丢失的数据时,这会给数据库服务器带来更大的负载。为了避免这种情况,如果您的代码已编写为尽量减少缓存拥塞,那么它将留下最小的影响
- 另一种方法是使用丢失的机器的 IP 地址在新机器上启动 memcached 实例
- 代码是减少服务器中断的另一种选择,因为它使您可以自由地以最少的工作量更改 Memcached 服务器列表
- 设置超时值是某些 Memcached 客户端为应对 Memcached 服务器中断而实施的另一个选项。当您的 Memcached 服务器发生故障时,客户端将继续尝试发送请求,直到达到超时限制。
44)解释什么是狗堆效应?如何防止这种影响?
Dogpile 效应是指缓存过期时,网站会被客户端同时发出的多个请求所影响。使用信号量锁可以防止这种现象。在这个系统中,当值过期时,第一个进程会获取锁并开始生成新值。
45)解释一下在你的应用程序中不应该使用 memcached 的原因 Python 项目?
以下是你不应该在你的 Python 项目:
- Memcached 常见的误用是将其用作数据存储而不是缓存
- 永远不要将 Memcached 用作运行应用程序所需信息的唯一来源。数据也应始终通过其他来源提供
- Memcached 只是一个键或值存储,无法对数据执行查询或对内容进行迭代以提取信息。
- Memcached 不提供任何形式的安全性,无论是加密还是身份验证。
Python 编程面试问题
46)什么是 Python 如果语句?
Python if 语句用于决策操作。它包含一段代码,只有当 if 语句中给出的条件为真时,该代码才会运行。如果条件为假,则运行可选的 else 语句,该语句包含一些用于 else 条件的代码。
当你想证明一个条件成立而另一个条件不成立时,你可以使用 Python if-else 语句。
Python if 语句语法:
if expression
Statement
else
Statement
Python if…else 流程图
让我们看一个例子 Python if else 语句:
让我们看一个例子 Python if else 语句:
def main(): x,y =2,8 if(x < y): st= "x is less than y" print(st) if __name__ == "__main__": main()
47)解释 While 循环 Python 举例来说
While 循环与“if 语句”的功能完全相同,但是它们不会运行一次代码块,而是跳回到开始代码的位置并再次重复整个过程。
while循环的语法如下:
while expression
Statement
while循环示例如下:
x=0 #define a while loop while(x <4): print(x) x = x+1
48) enumerate() 在 Python?
枚举()中 Python 是一个内置函数,用于为可迭代对象的每个项分配索引。它在可迭代对象上添加一个循环,同时跟踪当前项并以可枚举形式返回对象。此对象可用于 for 循环中,通过使用 list() 方法将其转换为列表。
enumerate()示例如下:
假设我们想要对月份进行编号(一月、二月、三月……六月),因此我们声明变量 i 来枚举数字,而 m 将在列表中打印月份的数字。
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
49)如何使用 for 循环重复执行相同的语句?
您可以使用 for 循环来重复相同的语句。在此示例中,我们打印了三次单词“guru99”。
计费示例:
为了多次重复相同的语句,我们在变量 i 中声明了数字(i in 123)。因此,当您运行如下所示的代码时,它会打印语句(guru99),该语句是我们在变量中声明的数字的多次(i in 123)。
for i in '123': print ("guru99",i,)
50)什么是元组匹配 Python?
元组匹配 Python 是一种通过匹配元组中的第二个元素对元组进行分组的方法。在 Python 编程中,它是通过使用字典检查每个元组中的第二个元素来实现的。但是,我们可以通过获取现有元组的部分来创建新的元组。
语法:
Tup = ('Jan','feb','march')
要写一个空元组,你需要写两个不包含任何内容的括号 -
tup1 = ();
51)解释字典 Python 举例来说
A 字典在 Python 是包含键值对的无序且可变的数据值集合。字典中的每个键值对将键映射到其关联值,从而使其更加优化。python 中的字典是通过使用花括号 ({}) 括起以逗号分隔的键值对列表来声明的。 Python 字典分为两个元素:键(Keys)和值(Values)。
语法为 Python 字典:
Dict = { ' Tim': 18, xyz,.. }
例如:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
52) 如何将整本字典复制到新字典?
您还可以将整个词典复制到新词典中。例如,这里我们将原始词典复制到名为“Boys”和“Girls”的新词典中。
例如:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY)
53) 如何更新 Python 字典?
您可以通过向现有条目添加新条目或键值对或删除现有条目来更新词典。在此示例中,我们将向现有词典添加另一个名字“Sarah”。
例如:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
54)给出字典 items() 方法的示例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
55)如何对元素进行排序 Python 字典?
在字典中,您可以轻松地对元素进行排序。例如,如果我们想按字母顺序打印字典元素的名称,我们必须使用 for 循环。它将相应地对字典的每个元素进行排序。
计费示例:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(":".join((S,str(Dict[S]))))
56)给出一个字典 len() 的例子,以及 Python 列出 cmp() 方法
字典 len() 示例:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
cmp() 示例:
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
57)所有字典方法有哪些:
以下是字典方法的列表:
- 复制()
- update()
- 项目()
- 种类()
- len()
- CMP()
- Str()
58)举例解释算术运算符
算术 Opera执行各种算术计算,如加法、减法、乘法、除法、%模数、指数等。在 Python,例如您可以使用 eval 函数、声明变量并计算、或调用函数。
示例:对于算术运算符,我们将以加法作为一个简单的例子,其中我们将添加两位数 4+5=9
x= 4 y= 5 print(x + y)
59)给出逻辑运算符的例子
逻辑运算符示例:
a = True b = False print(('a and b is',a and b)) print(('a or b is',a or b)) print(('not a is',not a))
60)举例解释成员运算符
这些运算符测试序列(如列表、字符串或元组)的成员资格。两个成员运算符用于 Python. (in,not in)。它根据指定序列或字符串中存在的变量给出结果。
计费示例:
例如这里,我们使用 in 和 not in 运算符检查 x=4 的值和 y=8 的值是否在列表中可用。
x = 4 y = 8 list = [1, 2, 3, 4, 5 ]; if ( x in list ): print("Line 1 - x is available in the given list") else: print("Line 1 - x is not available in the given list") if ( y not in list ): print("Line 2 - y is not available in the given list") else: print("Line 2 - y is available in the given list")
61)编写代码来演示运算符优先级 Python:
v = 4 w = 5 x = 8 y = 2 z = 0 z = (v+w) * x / y; print("Value of (v+w) * x/ y is ", z)
62)解释数组 Python举例来说
A Python 排列 是具有相同数据类型元素的常见数据结构类型的集合。它用于存储数据集合。在 Python 编程中,数组由“array”模块处理。如果使用 array 模块创建数组,则数组的元素必须属于相同的数字类型。
创建数组的语法 Python
您可以在中声明一个数组 Python 同时使用以下语法对其进行初始化。
arrayName = array.array(type code for data type, [array,items])
下图解释了该语法。
- 识别码:像平常一样指定变量的名称
- 模块: Python 有一个特殊的模块用于创建数组 Python,称为“数组”——你必须在使用它之前导入它
- 付款方式:array 模块有一个初始化数组的方法。它接受两个参数:类型代码和元素。
- 类型代码:使用可用的类型代码指定数据类型(见下表)
- 元素:在方括号内指定数组元素,例如 [130,450,103]
例如:
import array as myarray abc = myarray.array('d', [2.5, 4.9, 6.7])
63)如何访问数组元素?
您可以使用索引来访问任何数组项。
语法是
arrayName[indexNum]
例如:
import array balance = array.array('i', [300,200,100]) print(balance[1])
64) 如何在数组中插入元素?
Python 数组插入操作可让您将一个或多个项目插入数组的开头、结尾或任何给定索引处。此方法需要两个参数 index 和 value。
语法是
arrayName.insert(index, value)
例如:
让我们在数组的第二项后面添加一个新值。目前,我们的余额数组有三个项:300、200 和 100。考虑第二个数组项,其值为 200,索引为 1。
为了在索引 1 之后插入新值,您需要在插入方法中引用索引 2,如下所示 Python 数组示例:
import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance)
65)如何删除数组中的元素?
使用此操作,您可以按值从数组中删除一个项目。此方法仅接受一个参数,即值。运行此方法后,数组项目将重新排列,索引也将重新分配。
语法是
arrayName.remove(value)
例如:
我们从数组中删除“3”的值
import array as myarray first = myarray.array('b', [2, 3, 4]) first.remove(3) print(first)
66) 如何搜索并获取数组中某个值的索引?
使用此操作,您可以根据数组中的值来搜索该项。此方法仅接受一个参数,即值。这是一种非破坏性方法,这意味着它不会影响数组值。
语法是
arrayName.index(value)
例如:
让我们在数组中查找“3”的值。此方法返回搜索值的索引。
import array as myarray number = myarray.array('b', [2, 3, 4, 5, 6]) print(number.index(3))
67) 如何反转数组 Python?
您可以使用 reverse() 来反转数组 Python.
计费示例:
import array as myarray number = myarray.array('b', [1,2, 3]) number.reverse() print(number)
68)给出将数组转换为 Unicode 的示例
将数组转换为 Unicode 的示例是:
from array import array p = array('u',[u'\u0050',u'\u0059',u'\u0054',u'\u0048',u'\u004F',u'\u004E']) print(p) q = p.tounicode() print(q)
69)举一个类的例子 Python
类示例 Python
# Example file for working with classes class myClass(): def method1(self): print("Guru99") def method2(self,someString): print("Software Testing:" + someString) def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main()
70)举例解释继承
继承是 面向对象的编程;它指的是定义一个新类,对现有类进行较少的修改或不进行修改。新类称为派生类,它继承的类称为基类。 Python 支持继承;也支持多重继承。一个类可以从另一个类(称为子类或继承者类)继承属性和行为方法。
继承示例:
# Example file for working with classes class myClass(): def method1(self): print("Guru99") class childClass(myClass): #def method1(self): #myClass.method1(self); #print ("childClass Method1") def method2(self): print("childClass method2") def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
71)举例说明 Python 建设者
示例 Python 构造函数
class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex") User1.sayHello()
72)如何访问字符串中的值?
Python 不支持字符类型,这些被视为长度为 1 的字符串,也被视为子字符串。
您可以使用方括号以及索引或索引进行切片以获取子字符串。
var1 = "Guru99!" var2 = "Software Testing" print ("var1[0]:",var1[0]) print ("var2[1:5]:",var2[1:5])
73)用示例解释所有字符串运算符
字符串运算符示例:
Opera器 | 描述 | 例如: |
---|---|---|
[] | 切片——从给定的索引中取出字母 | a[1] 将从单词 Guru 中得出“u”(0=G、1=u、2=r 和 3=u) |
[ : ] | 范围切片 - 给出给定范围内的字符 | x [1:3] 它会从单词 Guru 中给出“ur”。请记住,它不会考虑 0(即 G),它会考虑 ur 之后的单词。 |
in | 成员资格 - 如果给定字符串中存在字母,则返回 true | u 出现在单词 Guru 中,因此结果为 1(真) |
不在 | 成员资格 - 如果字母不在给定字符串中,则返回 true | l 不存在于单词 Guru 中,因此它将给出 1 |
r/R | 原始字符串抑制了转义字符的实际含义。 | 打印 r'\n' 打印 \n 并打印 R'/n' 打印 \n |
% – 用于字符串格式 | %r – 插入对象的规范字符串表示形式(即 repr(o))%s- 插入对象的表示字符串表示形式(即 str(o))%d- 它将格式化数字以供显示 | 该代码的输出将是“guru 99”。 |
+ | 它连接两个字符串 | 它连接字符串并给出结果 |
* | 重复新密码 | 它将字符打印两次。 |
74)给出 sleep() 函数的例子 Python
sleep() 函数示例 Python
import time print("Welcome to guru99 Python Tutorials") time.sleep(5) print("This message will be printed after a wait of 5 seconds")
75)什么是定时器方法 Python?
Timer 是线程中可用的一种方法,它有助于实现与 Python 时间睡觉。
from threading import Timer print('Code Execution Started') def display(): print('Welcome to Guru99 Tutorials') t = Timer(5, display) t.start()
76)给出日历类的例子
日历类示例
import calendar # Create a plain text calendar c = calendar.TextCalendar(calendar.THURSDAY) str = c.formatmonth(2025, 1, 0, 0) print(str) # Create an HTML formatted calendar hc = calendar.HTMLCalendar(calendar.THURSDAY) str = hc.formatmonth(2025, 1) print(str) # loop over the days of a month # zeroes indicate that the day of the week is in a next month or overlapping month for i in c.itermonthdays(2025, 4): print(i) # The calendar can give info based on local such a names of days and months (full and abbreviated forms) for name in calendar.month_name: print(name) for day in calendar.day_name: print(day) # calculate days based on a rule: For instance an audit day on the second Monday of every month # Figure out what days that would be for each month, we can use the script as shown here for month in range(1, 13): # It retrieves a list of weeks that represent the month mycal = calendar.monthcalendar(2025, month) # The first MONDAY has to be within the first two weeks week1 = mycal[0] week2 = mycal[1] if week1[calendar.MONDAY] != 0: auditday = week1[calendar.MONDAY] else: # if the first MONDAY isn't in the first week, it must be in the second week auditday = week2[calendar.MONDAY] print("%10s %2d" % (calendar.month_name[month], auditday))
77) 解释 Python 带有示例的 ZIP 文件
Python 允许您快速创建 zip/tar 档案。
以下命令将压缩整个目录
shutil.make_archive(output_filename, 'zip', dir_name)
以下命令可让你控制要存档的文件
ZipFile.write(filename)
示例 Python ZIP文件
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
78)在以下领域中,有哪些常见的例外情况? Python?
常见异常示例 Python 是:
- 被零除
- 访问不存在的文件。
- 添加两个不兼容的类型
- 尝试访问不存在的序列索引
- 从断开连接的数据库服务器中删除表。
- ATM 取款超过可用金额
79)解释重要 Python 错误
重要的 Python 错误包括 1) ArithmeticError、2) ImportError 和 3) IndexError。
- 算术错误: ArithmeticError 是所有算术异常的基类。它是在算术运算错误时引发的。
- 导入错误: 当您尝试导入不存在的模块时,会引发 ImportError。如果您在模块名称中输入错误或模块不在标准路径中,则会发生此类异常。
- 索引错误: 当您尝试引用超出范围的序列时,会引发 IndexError。
80)解释 JSON dumps() Python 举例来说
json.dumps() 在 Python 是一种将字典对象转换为 Python 转换为 JSON 字符串数据格式。当对象需要采用字符串格式进行解析、打印等操作时,此功能很有用。
计费示例:
import json x = { "name": "Ken", "age": 45, "married": True, "children": ("Alice","Bob"), "pets": ['Dog'], "cars": [ {"model": "Audi A1", "mpg": 15.1}, {"model": "Zeep Compass", "mpg": 18.1} ] } # sorting result in asscending order by keys: sorted_string = json.dumps(x, indent=4, sort_keys=True) print(sorted_string)
81)详细解释 JSON 以 Python (解码)举例
JSON 字符串解码是通过内置方法完成的 json.loads()
& json.load()
JSON 库 Python.
下表显示了 JSON 对象的示例 Python 有助于执行解码的对象 Python JSON 字符串。
JSON | Python |
---|---|
摆件 | 字典 |
排列 | 列表 |
串 | 统一 |
数字 – int | 数字 – int、long |
数字 – 实数 | Float |
真 | 真 |
假 | 假 |
空 | 没有 |
基本 JSON Python 借助 json.loads 函数进行解码的示例:
import json # json library imported # json data string person_data = '{ "person": { "name": "Kenn", "sex": "male", "age": 28}}' # Decoding or converting JSON format in dictionary using loads() dict_obj = json.loads(person_data) print(dict_obj) # check type of dict_obj print("Type of dict_obj", type(dict_obj)) # get human object details print("Person......", dict_obj.get('person'))
82)编写 encode() 方法的代码
encode() 方法的代码:
# import JSONEncoder class from json from json.encoder import JSONEncoder colour_dict = { "colour": ["red", "yellow", "green" ]} # directly called encode method of JSON JSONEncoder().encode(colour_dict)
83)写一篇 Python 在 numpy 中创建数组的代码 Python 矩阵
在 numpy 中创建数组的代码 Python 矩阵
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
84)编写矩阵减法的 Phyhon 代码
矩阵减法的 Phyhon 代码
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 - M2 print(M3)
85)编写矩阵乘法代码
矩阵乘法代码
将numpy导入为np
M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
86)举例解释矩阵切片
切片将根据给定的开始/结束索引返回矩阵中的元素。
切片的语法是:
[start:end]
- 如果没有给出起始索引,则视为 0。例如 [:5],表示 [0:5]。
- 如果没有传递末尾,则将作为数组的长度。
- 如果开始/结束有负值,则切片将从数组的末尾进行。
在我们对矩阵进行切片之前,让我们首先了解如何对简单数组应用切片。
import numpy as np arr = np.array([2,4,6,8,10,12,14,16]) print(arr[3:6]) # will print the elements from 3 to 5 print(arr[:5]) # will print the elements from 0 to 4 print(arr[2:]) # will print the elements from 2 to length of the array. print(arr[-5:-1]) # will print from the end i.e. -5 to -2 print(arr[:-1]) # will print from end i.e. 0 to -2
87) 写 Python 通过循环查找平均值的代码
以下是通过循环查找平均值的代码:
def cal_average(num): sum_num = 0 for t in num: sum_num = sum_num + t avg = sum_num / len(num) return avg print("The average is", cal_average([18,25,3,41,5]))
88)编写列表计数的代码
这是列表计数的代码:
list1 = ['red', 'green', 'blue', 'orange', 'green', 'gray', 'green'] color_count = list1.count('green') print('The count of color: green is ', color_count)
89) 如何计算给定列表中的重复元素?
计算给定列表中的重复元素
list1 = [2,3,4,3,10,3,5,6,3] elm_count = list1.count(3) print('The count of element: 3 is ', elm_count)
90)编写代码,使用 for 循环获取列表中元素的索引
使用 for 循环获取列表中元素索引的代码:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
91)举个例子 Python 类型()
str_list = "Welcome to Guru99" age = 50 pi = 3.14 c_num = 3j+10 my_list = ["A", "B", "C", "D"] my_tuple = ("A", "B", "C", "D") my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"} my_set = {'A', 'B', 'C', 'D'} print("The type is : ",type(str_list)) print("The type is : ",type(age)) print("The type is : ",type(pi)) print("The type is : ",type(c_num)) print("The type is : ",type(my_list)) print("The type is : ",type(my_tuple)) print("The type is : ",type(my_dict)) print("The type is : ",type(my_set))
92) 如何在打印时不添加换行符 Python?
从 Python 3+ 版中,print() 新增了一个参数,名为 end=。此参数负责删除 print() 中默认添加的换行符。
在 Python 3 打印时不换行下面的示例,我们希望字符串在同一行上打印 Python。要使其正常工作,只需在 print() 中添加 end=””,如下例所示:
print("Hello World ", end="") print("Welcome to Guru99 Tutorials")
93) 如何打印不带换行符和空格的星号(*)图案?
打印不带换行符和空格的星号(*)图案的代码:
for i in range(0, 20): print('*', end="")
这些面试问题也会对你的口试有帮助