python程序员面试题精选100题_Python程序员面试题 你必须提前准备!(答案及解析)...

在发布《Python程序员面试,这些问题你必须提前准备!》一文后,应广大程序员朋友的强烈要求,小编就Python程序员面试必备问题整理了一份参考答案,希望能对准备换工作的程序员朋友有所帮助。如对答案有疑问,欢迎留言讨论。

小编将这些面试问题大致分为四类:

什么(what)?如何做(how)?说区别/谈优势(difference)以及实践操作(practice)。

What?

1. 什么是Python?

Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。可以加入与其他语言的对比。下面是回答这一问题的几个关键点:

a. Python是一种解释型语言,python代码在运行之前不需要编译。

b. Python是动态类型语言,在声明变量时,不需要说明变量的类型。

c. Python适合面向对象的编程,因为它支持通过组合与继承的方式定义类。

d. 在Python语言中,函数是第一类对象。

e. Python代码编写快,但是运行速度比编译语言通常要慢。

f. Python用途广泛,常被用作“胶水语言”,可帮助其他语言和组件改善运行状况。

g. 使用Python,程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。

2. 什么是Python自省?

python自省是python具有的一种能力,使程序员面向对象的语言所写的程序在运行时,能够获得对象的类python型。Python是一种解释型语言。为程序员提供了极大的灵活性和控制力。

3. 什么是PEP 8?

PEP8是一种编程规范,内容是一些关于如何让你的程序更具可读性的建议。

4. 什么是pickling和unpickling?

Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中——这个过程叫做pickling。反之从存储的字符串文件中提取原始Python对象的过程,叫做unpickling。

5. 什么是Python装饰器?

Python装饰器是Python中的特有变动,可以使修改函数变得更容易。

6. 什么是Python的命名空间?

在Python中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作——这就是命名空间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的时候,会从该盒子里面寻找相应的对象。

7. 什么是字典推导式和列表推导式?

它们是可以轻松创建字典和列表的语法结构。

8. Lambda函数是什么?

这是一个常被用于代码中的单个表达式的匿名函数。

9. *args,**kwargs?参数是什么?

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args;如果我们不知道要往函数中传入多少个关键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。

你可能感兴趣的:(python程序员面试题精选100题_Python程序员面试题 你必须提前准备!(答案及解析)...)