Python面试题合集(二)
▍1、Python代码是如何执行的?
首先,解释器读取Python代码并检查是否有语法或格式错误。
如果发现错误,则暂停执行。如果没有发现错误,则解释器会将Python代码转换为等效形式或字节代码。
然后将字节码发送到Python虚拟机(PVM),这里Python代码将被执行,如果发现任何错误,则暂停执行,否则结果将显示在输出窗口中。
▍2、如何在Python中管理内存?
Python内存由Python的私有headspace管理。
所有的Python对象和数据结构都位于一个私有堆中。私用堆的分配由Python内存管理器负责。
Python还内置了一个的垃圾收集器,可以回收未使用的内存并释放内存,使其可用于headspace。
▍3、解释Python的内置数据结构?
Python中主要有四种类型的数据结构。
列表:列表是从整数到字符串甚至另一个列表的异构数据项的集合。列表是可变的。列表完成了其他语言中大多数集合数据结构的工作。列表在[ ]方括号中定义。
例如:a = [1,2,3,4]
集合:集合是唯一元素的无序集合。集合运算如联合|,交集&和差异,可以应用于集合。集是不可变的。用于表示一个集合。
例如:a = {1,2,3,4}
元组:Python元组的工作方式与Python列表完全相同,只是它们是不可变的。用于定义元组。
例如:a =(1,2,3,4)
字典:字典是键值对的集合。它类似于其他语言中的hash map。在字典里,键是唯一且不可变的对象。
例如:a = {‘number’:[1,2,3,4]}
▍4、解释//、%、* *运算符?
//(Floor Division)-这是一个除法运算符,它返回除法的整数部分。
例如:5 // 2 = 2
%(模数)-返回除法的余数。
例如:5 % 2 = 1
**(幂)-它对运算符执行指数计算。a ** b表示a的b次方。
例如:5 ** 2 = 25、5 ** 3 = 125
▍5、Python中的单引号和双引号有什么区别?
在Python中使用单引号(‘ ‘)或双引号 (” “)是没有区别的,都可以用来表示一个字符串。
这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少转义字符的使用,使程序看起来更简洁,更清晰。
▍6、Python中append,insert和extend的区别?
append:在列表末尾添加新元素。
insert:在列表的特定位置添加元素。
extend:通过添加新列表来扩展列表。
numbers = [ 1, 2, 3, 4, 5]
numbers.append( 6)
print(numbers)
>[ 1, 2, 3, 4, 5, 6]
## insert(position,value)
numbers.insert( 2, 7)
print(numbers)
>[ 1, 2, 7, 4, 5, 6]
numbers.extend([ 7, 8, 9])
print(numbers)
>[ 1, 2, 7, 4, 5, 6, 7, 8, 9]
numbers.append([ 4, 5])
>[ 1, 2, 7, 4, 5, 6, 7, 8, 9,[ 4, 5]]
更多关于“Python培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。