
在求职Python开发岗位的过程中,扎实掌握基础语法是成功应对面试的关键。本篇博客将聚焦Python基础语法,梳理面试中常见的问题、易错点,并提供实用的代码示例,帮助您在面试中展现出深厚的技术功底,从容应对挑战。
1. 变量作用域与命名规则
问题示例:
- 描述Python中的变量作用域规则。
- 请解释什么是“LEGB”规则?
- 举个例子说明全局变量与局部变量的区别。
解答与避坑: Python的变量作用域遵循“Local -> Enclosing -> Global -> Built-in”(LEGB)规则。简而言之:
- Local:函数内部定义的变量,仅在该函数内部可见。
- Enclosing(外层作用域):在嵌套函数中,内部函数可以访问外部函数(非全局)的变量。
- Global:在模块顶层(非函数内部)定义的变量,对该模块全局可见。
- Built-in:Python内置的变量,如
__name__、None等。
易错点:混淆局部变量与全局变量的使用,尤其是在函数内部直接修改全局变量时,需使用global关键字声明。
代码示例:
python
x = 10 # 全局变量
def func():
global x # 声明使用全局变量x
x += 1
print("Inside func:", x)
func()
print("Outside func:", x) # 输出:11
命名规则:遵循PEP 8规范,使用小写字母和下划线组合,避免使用Python保留字。类名采用驼峰式命名。
2. 数据类型与运算符
问题示例:
- 列举Python的基本数据类型,并简述其特点。
- 解释Python中的深拷贝与浅拷贝。
- 比较运算符
is与==有何区别?
解答与避坑: 基本数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、集合(set)、字典(dict)等。理解它们各自的特性和操作方法是基础中的基础。
深拷贝(如copy.deepcopy())创建原始对象的独立副本,包括嵌套对象。浅拷贝(如copy.copy()或切片操作)仅复制顶级对象,共享嵌套对象的引用。
**is用于判断两个对象是否为同一个对象(同一内存地址), ==**比较对象的值是否相等。误用is可能导致预期之外的结果。
代码示例:
pyt


548

被折叠的 条评论
为什么被折叠?



