python filestorage对象怎么转化成字符串_Python面试的10个常见问题及答案,检验你的学习成果吧!...

导语

Python已经是现在最受欢迎的编程语言,随着这几年云计算,机器学习,人工智能等技术的发展,学习Python的人越来越多,职位的要求也越来越高,下面我收集了10个面试中经常被问到的问题和答案供大家参考学习。

1Python是如何运行的?

Python 程序运行时,会先进行编译,将 .py 文件中的代码编译成字节码(byte code),编译结果储存在内存的 PyCodeObject 中,然后由 Python 虚拟机解释运行。当程序运行结束后,Python 解释器会将 PyCodeObject 保存到 pyc 文件中。之后每一次运行时 Python 都会先寻找与文件同名的 pyc 文件,如果找到直接运行,否则重复上述过程。

2什么是Python迭代器?什么又是生成器?

迭代器是可迭代对象的一个子集,它是一个可以记住遍历的位置的对象,它与列表、元组、集合、字符串这些可迭代对象的区别就在于next方法的实现,其他列表、元组、集合、字符串这些可迭代对象可以很简单的转化成迭代器

生成器是迭代器的子集,换句话说,生成器一定是迭代器,但是迭代器不全是生成器对象。而生成器使用更加简洁,实现和迭代器相同的功能。

3解释一下Python的继承

当一个类继承自另一个类,它就被称为一个子类/派生类,继承自父类/基类/超类。它会继承/获取所有类成员(属性和方法)。

继承能让我们重新使用代码,也能更容易的创建和维护应用。Python支持如下种类的继承:

单继承:一个类继承自单个基类

多继承:一个类继承自多个基类

多级继承:一个类继承自单个基类,后者则继承自另一个基类

分层继承:多个类继承自单个基类

混合继承:两种或多种类型继承的混合

4Python中是否需要缩进?

缩进是Python必需的。它指定了一个代码块。循环,类,函数等中的所有代码都在缩进块中指定。通常使用四个空格字符来完成。如果您的代码没有必要缩进,它将无法准确执行并且也会抛出错误。

5什么是Python中的类型转换?

类型转换是指将一种数据类型转换为另一种数据类型。int()  - 将任何数据类型转换为整数类型float()  - 将任何数据类型转换为float类型ord()  - 将字符转换为整数hex() - 将整数转换为十六进制oct()  - 将整数转换为八进制tuple() - 此函数用于转换为元组。set() - 此函数在转换为set后返回类型。list() - 此函数用于将任何数据类型转换为列表类型。dict() - 此函数用于将顺序元组(键,值)转换为字典。str() - 用于将整数转换为字符串。complex(real,imag)  - 此函数将实数转换为复数(实数,图像)数。

6Python中浅拷贝,深拷贝的区别

浅拷贝则是将一个对象的引用拷贝到另一个对象上,所以如果我们在拷贝中改动,会影响到原对象。

深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象

7多线程好用吗?如何在Python中实现多线程?

Python没有真正意义上的多线程,不过有一个名为Global Interpreter Lock(GIL)的结构。GIL确保每次只能执行一个“线程”。一个线程获取GIL执行相关操作,然后将GIL传递到下一个线程。

虽然看起来程序被多线程并行执行,但它们实际上只是轮流使用相同的CPU核心。

所有这些GIL传递都增加了执行的开销。这意味着多线程并不能让程序运行的更快。

8如何在Python中管理内存?

Python中的内存管理由Python私有堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆。Python解释器负责处理这个问题。

Python对象的堆空间分配由Python的内存管理器完成。核心API提供了一些程序员编写代码的工具Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存,并使其可用于堆空间。

9列表(list)和元组(tuple)有什么区别?

列表是可变的。创建后可以对其进行修改。

元组是不可变的。元组一旦创建,就不能对其进行更改。

列表表示的是顺序。它们是有序序列,通常是同一类型的对象。

元组表示的是结构。可以用来存储不同数据类型的元素。比如内存中的数据库记录。

10字典和列表的查找速度哪个更快

在列表中查找一个值需要O(n)时间,因为需要遍历整个列表,直到找到值为止。

在字典中查找一个值只需要O(1)时间,因为它是一个哈希表。

如果有很多值,这会造成很大的时间差异,因此通常建议使用字典来提高速度。但字典也有其他限制,比如需要唯一键。

当然,面试题可以一直刷,题目通过的几率是很大的,不过之后我们还需要看自身的发挥,打铁还要自身硬是吧,如果自身没有相应的水平,在之后的试用期阶段还是会被刷下去。

最后,希望大家能够找到自己理想的企业,面试成功!

End

a904f5755d75d5334023a90dfb41aef0.png 福利大放送 长按扫码 领取试听课程 点击此处“阅读全文”查看更多内容 fe8b8fd967a66faf1094585f6c2f5add.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值