100 个基本的 Python 面试问题第一部分(1-20)_gurobi面试


上述 Python 代码片段的结果是:



list1 = [10, ‘a’]
list2 = [123]
list3 = [10, ‘a’]


你可能错误地认为 list1 等于 [10] 并且 list3 与 [‘a’] 匹配,认为每次调用 extendList 时,list 参数都会初始化为其默认值 []。


但是,流程就像在定义函数后创建一个新列表一样。每当有人在没有列表参数的情况下调用 extendList 方法时,都会使用相同的方法。它是这样工作的,因为表达式的计算(在默认参数中)发生在函数定义时,而不是在调用期间。


因此, list1 和 list3 在同一个默认列表上运行,而 list2 在它自己创建的单独对象上运行(通过传递一个空列表作为 list 参数的值)。


可以通过以下方式更改 extendList 函数的定义。



def extendList(val, list=None):
if list is None:
list = []
list.append(val)
return list


有了这个修订后的实施,输出将是:



list1 = [10]
list2 = [123]
list3 = [‘a’]


[回到目录](#mulu)




---


### Q-3:若程序不需要动作但语法需要,则可在 Python 中使用的语句是什么?


pass 语句是一个空操作。执行时什么也没有发生。你应该使用小写的“pass”关键字。如果你写“Pass”,你会遇到类似“NameError: name Pass is not defined”这样的错误。Python 语句区分大小写。



letter = “hai sethuraman”
for i in letter:
if i == “a”:
pass
print(“pass statement is execute …”)
else:
print(i)


[回到目录](#mulu)




---


### Q-4:在 Python 中使用“~”获取主目录的过程是什么?


你需要导入 os 模块,然后只需一行即可完成其余工作。



import os
print (os.path.expanduser(‘~’))


输出:



/home/runner


[回到目录](#mulu)




---


### Q-5:Python 中可用的内置类型有哪些?


以下是 Python 支持的最常用的内置类型列表:




| Python 的不可变内置数据类型 | Python 的可变内置数据类型 |
| --- | --- |
| 数字 | 列表 |
| 字符串 | 字典 |
| 元组 | 集合 |


[回到目录](#mulu)




---


### Q-6:如何在 Python 应用程序中查找错误或执行静态分析?


* **你可以使用 PyChecker,它是一个静态分析器。它识别 Python 项目中的错误,并揭示与样式和复杂性相关的错误。**
* **另一个工具是 Pylint,它检查 Python 模块是否满足编码标准。**


[回到目录](#mulu)




---


### Q-7:什么时候使用 Python 装饰器?


Python 装饰器是在 Python 语法中进行的相对更改,用于快速调整功能。


[回到目录](#mulu)




---


### Q-8:列表和元组的主要区别是什么?


列表和元组之间的主要区别在于前者是可变的,而元组则不是。


元组可以被散列,例如,使用它作为字典的键。


[回到目录](#mulu)




---


### Q-9:Python 如何处理内存管理?


* **Python 使用私有堆来维护其内存。因此堆包含所有 Python 对象和数据结构。这个区域只有 Python 解释器可以访问;程序员不能用。**
* **它是处理私有堆的 Python 内存管理器。它为 Python 对象执行所需的内存分配。**
* **Python 使用内置垃圾收集器,它可以回收所有未使用的内存并将其卸载到堆空间。**


[回到目录](#mulu)




---


### Q-10:lambda 和 def 之间的主要区别是什么?


* **Def 可以容纳多个表达式,而 lambda 是一个单表达式函数。**
* **Def 生成一个函数并指定一个名称以便稍后调用它。Lambda 形成一个函数对象并返回它。**
* **def 可以有一个 return 语句。Lambda 不能有 return 语句。**
* **Lambda 支持在列表和字典中使用。**


[回到目录](#mulu)




---


### Q-11:用 python reg表达式模块"re"编写一个reg 表达式来验证电子邮件 ID


Python 有一个正则表达式模块“re”。


查看可以检查 .com 和 .co.in 子域的电子邮件 ID的“re”表达式。



import re
print(re.search(r"[0-9a-zA-Z.]+@[a-zA-Z]+.(com|co.in)$",“micheal.pages@mp. com”))


[回到目录](#mulu)




---


### Q-12:你认为以下代码片段的输出是什么?代码中有错误吗?



list = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
print (list[10:])


以上代码行的结果是[]。不会有任何类似 IndexError 的错误。


你应该知道尝试使用超过成员计数的索引从列表中获取成员(例如,尝试访问问题中给出的 list[10])会产生 IndexError。顺便说一下,仅检索超过 no 的起始索引处的切片。列表中的项目不会导致 IndexError。它只会返回一个空列表。


[回到目录](#mulu)




---


### Q-13:Python 中有 switch 或 case 语句吗?如果不是,那么相同的原因是什么?


没有,Python 中没有 Switch 语句,但是你可以编写一个 Switch 函数然后使用它。


[回到目录](#mulu)




---


### Q-14:Python 用来迭代数字序列的内置函数是什么?


Range() 生成一个数字列表,用于迭代 for 循环。



for i in range(5):
print(i)


range() 函数带有两组参数。


**范围(停止)**


* 停止:它是没有。要生成并从零开始的整数。例如。范围(3) == [0, 1, 2]。  
 **范围([开始],停止[,步骤])**
* 开始:这是起始编号。的序列。
* 停止:它指定序列的上限。
* Step:生成序列的增量因子。  
 **注意事项:**
* 只允许整数参数。
* 参数可以是正数或负数。
* Python 中的range()函数从第零个索引开始。


[回到目录](#mulu)




---


### Q-15:Python 的 try-except 块中可能有哪些可选语句?


你可以在try-except 块中使用两个可选子句。


**“ else” 子句**


* 如果你想在 try 块未创建异常时运行一段代码,这将很有用。  
 **“finally” 子句**
* 当你想执行一些运行的步骤时,不管是否发生异常它都有用。


[回到目录](#mulu)




---


### Q-16:Python 中的字符串是什么?


Python 中的字符串是一系列字母数字字符。它们是不可变的对象。这意味着它们一旦被赋值就不允许修改。Python 提供了多种方法,例如 join()、replace() 或 split() 来更改字符串。但是这些都没有改变原始对象。


[回到目录](#mulu)




---


### Q-17:Python 中的切片是什么?

文末有福利领取哦~
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

👉**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。![img](https://img-blog.csdnimg.cn/c67c0f87cf9343879a1278dfb067f802.png)

👉**二、Python必备开发工具**

![img](https://img-blog.csdnimg.cn/757ca3f717df4825b7d90a11cad93bc7.png)  
👉**三、Python视频合集**

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。  
![img](https://img-blog.csdnimg.cn/31066dd7f1d245159f21623d9efafa68.png)

👉 **四、实战案例**

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。**(文末领读者福利)**  
![img](https://img-blog.csdnimg.cn/e78afb3dcb8e4da3bae5b6ffb9c07ec7.png)

👉**五、Python练习题**

检查学习结果。  
![img](https://img-blog.csdnimg.cn/280da06969e54cf180f4904270636b8e.png)

👉**六、面试资料**

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。  
![img](https://img-blog.csdnimg.cn/a9d7c35e6919437a988883d84dcc5e58.png)

![img](https://img-blog.csdnimg.cn/5db8141418d544d3a8e9da4805b1a3f9.png)

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值