Python面经【6】
- 一、什么是Python的自省机制
- 二、关于Python程序的运行方面,有什么手段可以提升性能
- 三、dict的item()和iteritems()的不同
- 四、说明一个os.path和sys.path分别代表什么
- 五、说一下字典和json的区别
- 六、什么是可变、不可变类型
一、什么是Python的自省机制
在python中,自省机制是指在运行时能够检查对象的类型和属性,以及执行相关操作的能力。它允许程序在运行时获取有关对象的信息,而无需在编码阶段提前知道这些信息。
自省机制提供了几个内置函数和特殊属性,用于获取对象的信息,例如:
- type():用于获取对象的类型。例如,type(5)返回,表示5是一个整数对象。
- dir():返回对象的属性和方法列表。例如,dir(list)返回一个列表对象的所有属性和方法。
- getattr()函数:根据属性名获取对象的属性值。如果对象不存在该属性,可以提供一个默认值作为参数。
- hasattr()函数:检查对象是否具有指定的属性。如果对象具有该属性,返回True;否则返回False
- setattr()函数:设置对象的属性值。
- delattr()函数:删除对象的属性
二、关于Python程序的运行方面,有什么手段可以提升性能
- 使用多进程,充分利用机器的多核性能。
- 对于性能影响较大的部分代码,可以使用C或C++代码
- 尽量使用python的内建函数
- 尽量使用局部变量
- 对于IO阻塞造成的性能表现,可以使用IO多路复用来解决。
三、dict的item()和iteritems()的不同
- Items方法将所有字典以列表的方式返回,其中项再返回的时候没有特殊的顺序。
- Iteritmes方法有相似的作用,但是返回一个迭代器对象。
四、说明一个os.path和sys.path分别代表什么
- os.path是模块,包含了各种处理文件路径的函数,用于文件路径的操作
- Sys.path是Python解释器搜索模块的路径列表,用于Python解释器的系统环境参数的操作
五、说一下字典和json的区别
1.字典是一种数据结构,json是一种数据的表现形式。
2.字典的key值只要是能hash的就行,json的必须是字符串。
六、什么是可变、不可变类型
可变不可变指的是内存中的值是否可以被改变,不可变类型指的是对象所在内存块里面的值不可以改变,有元组、int、float、string、bool等一些原子数据类型。可变类型是可以改变的,主要有列表、字典、集合。