python面试试题

时间:2023-01-10 23:30:21
python面试试题

python面试试题

在学习、工作生活中,许多人都需要跟试题打交道,借助试题可以检测考试者对某方面知识或技能的掌握程度。你知道什么样的试题才能切实地帮助到我们吗?以下是小编整理的python面试试题,供大家参考借鉴,希望可以帮助到有需要的朋友。

1、python下多线程的限制以及多进程中传递参数的方式

python多线程有个全局解释器锁(global interpreter lock),这个锁的`意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。

多进程间共享数据,可以使用 multiprocessing。Value和multiprocessing。Array。

2、什么是lambda函数?它有什么好处?

lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。lambda 函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda 函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。

3、Python是如何进行类型转换的?

①函数描述

② int(x [,base ]) 将x转换为一个整数

③long(x [,base ]) 将x转换为一个长整数

④float(x ) 将x转换到一个浮点数

⑤complex(real [,imag ]) 创建一个复数

⑥str(x ) 将对象 x 转换为字符串

⑦repr(x ) 将对象 x 转换为表达式字符串

⑧eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象

⑨tuple(s ) 将序列 s 转换为一个元组

⑩list(s ) 将序列 s 转换为一个列表

chr(x ) 将一个整数转换为一个字符

unichr(x ) 将一个整数转换为Unicode字符

ord(x ) 将一个字符转换为它的整数值

hex(x ) 将一个整数转换为一个十六进制字符串

oct(x ) 将一个整数转换为一个八进制字符串

4、python多线程与多进程的区别

在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否则进程成为僵尸进程(Zombie)。所以,有必要对每个Process对象调用join()方法 (实际上等同于wait)。对于多线程来说,由于只有一个进程,所以不存在此必要性。

多进程应该避免共享资源。在多线程中,我们可以比较容易地共享资源,比如使用全局变量或者传递参数。在多进程情况下,由于每个进程有自己独立的内存空间,以上方法并不合适。此时我们可以通过共享内存和Manager的方法来共享资源。但这样做提高了程序的复杂度,并因为同步的需要而降低了程序的效率。

5、Python里面如何拷贝一个对象?

标准库中的copy模块提供了两个方法来实现拷贝。一个方法是copy,它返回和参数包含内容一样的对象。使用deepcopy方法,对象中的属性也被复制。

6、介绍一下except的用法和作用?

Python的except用来捕获所有异常,因为Python里面的每次错误都会抛出一个异常,所以每个程序的错误都被当作一个运行时错误。

《python面试试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式