python面试题
以下是一些Python面试题:
一、基础语法
-
Python中的列表(list)和元组(tuple)有什么区别?
- 答案:
- 可变性:列表是可变的,可以修改列表中的元素、添加或删除元素;元组是不可变的,一旦创建就不能修改。
- 语法:列表使用方括号
[]
定义,元组使用圆括号()
定义(单个元素的元组需要在元素后面加逗号,如(1,)
)。 - 性能:由于元组的不可变性,在某些情况下元组的性能比列表略高,例如在用作字典的键时(字典的键必须是不可变类型)。
- 答案:
-
如何在Python中实现多态?
- 答案:
- 可以通过定义基类并在基类中声明抽象方法(使用
abc
模块中的ABC
类和abstractmethod
装饰器),然后让不同的子类继承基类并实现抽象方法来实现多态。例如:
from abc import ABC, abstractmethod class Animal(ABC): @abstractmethod def make_sound(self): pass class Dog(Animal): def make_sound(self)
- 可以通过定义基类并在基类中声明抽象方法(使用
- 答案: