Python面试技巧:核心概念与常见问题解析

需积分: 39 5 下载量 48 浏览量 更新于2024-09-09 1 收藏 23KB DOCX 举报
"Python面试题笔记" 在Python面试中,掌握核心知识点至关重要。以下是一些常见的面试题及其解析: 1. 计算1到100的和: ```python print(sum(range(0, 101))) ``` 这个代码利用内置函数`sum`和`range`计算了1到100所有整数的和。 2. 参数内部修改全局变量: ```python a = 5 def fn(): global a a = 2 fn() print(a) ``` 在Python中,若要在函数内部修改全局变量,需使用`global`关键字声明。 3. 字典操作: - 删除键值:`del dict["name"]` - 合并字典:`dict.update(dict2)` 这两个操作分别用于删除指定键的字典项和将一个字典的键值对合并到另一个字典中。 4. 列表去重: ```python list = [3, 1, 4, 1, 5, 9, 3] list = list(set(list)) # 通过set去重 print([x for x in list]) # 通过推导式转换回列表 ``` 这里先用`set`去重,再用列表推导式恢复为列表。 5. *args和**kwargs: 这两个特殊参数允许函数接收可变数量的位置参数和关键字参数。*args用于位置参数,**kwargs用于关键字参数。 6. range()在Python2与Python3的区别: 在Python2中,`range()`返回一个列表;而在Python3中,它返回一个迭代器,这样可以节省内存,特别是处理大范围时。 7. 装饰器: 装饰器是一种函数,它可以接收一个函数作为参数,并返回一个新的函数。这种特性使得函数可以在不修改原有代码的情况下增加新的功能。 8. Python的数据类型: Python内置的基本数据类型包括:整型(int),布尔型(bool),字符串(str),列表(list),元组(tuple),字典(dict)。 9. `__new__`和`__init__`: - `__new__(cls, ...)`: 创建新实例,必须有cls参数,返回值是新创建的实例。通常,会调用父类的`__new__`方法。 - `__init__(self, ...)`: 实例初始化,只有一个参数self,表示由`__new__`创建的实例。`__init__`不需要返回值,主要用来设置实例属性。 10. `with`语句: `with`语句用于管理资源,如打开文件、数据库连接等。它确保资源在使用后会被正确关闭,同时提供上下文管理。 11. `map()`函数: `map()`函数接受一个函数和一个列表,返回一个新的列表,其中每个元素是原列表元素经过函数处理的结果。 ```python list = [1, 2, 3, 4, 5] def fn(x): return x ** 2 m = map(fn, list) m = [i for i in m] # 将map对象转换为列表 print(m) ``` `map()`在这里用于将列表中的每个元素平方。 以上是Python面试中可能遇到的一些基础题目,理解并掌握这些知识点对于准备Python面试至关重要。