美文网首页
Python面试解析-03

Python面试解析-03

作者: 酷飒de小姐姐 | 来源:发表于2021-04-20 07:54 被阅读0次

一、什么是Pillow库?

Pillow是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。

二、如何使用Pillow实现图像缩放?

在Pillow中图片的缩放有以下两种方式。

(1)使用resize函数。

(2)使用thumbnail函数。

resize函数可以缩小,也可以放大。

thumbnail只能缩小,不能放大,所以如果只打开一次图片,要存出多个尺寸的话,要么从大到小开始缩放。

或者使用resize从大到小开始缩放,因为用resize放大的话,可以想象那个马赛克。

当然,也可以设置缩放图片的质量(PIL.Image.NEAREST:最低质量;PIL.Image.BILINEAR:双线性;PIL.Image.BICUBIC:三次样条插值;Image.ANTIALIAS:最高质量)。

三、什么是正则表达式?谈谈你对正则表达式的理解。

正则表达式(Regular Expression, RE)又称为正规表示法或常规表示法,常常用来检索、替换那些符合某个模式的文本。它首先设定好了一些特殊的字及字符组合,通过组合的“规则字符串”来对表达式进行过滤,从而获取或匹配想要的特定内容。它具有灵活、逻辑性和功能性强,能迅速地通过表达式从字符串中找到所需信息的优点,但对于刚接触的人来说,比较晦涩难懂。

四、如何用Python来进行查询和替换一个文本字符串?Python中re模块函数里面search()和match()函数有何区别?

可以使用sub()方法来进行查询和替换,sub方法的格式为:

replacement是被替换成的文本;

string是需要被替换的文本;

count是一个可选参数,指最大被替换的数量。

match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配,也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回None。

五、Python中如何实现多线程?

线程是轻量级的进程,多线程允许一次执行多个线程。众所周知,Python是一种多线程语言,它有一个多线程包。

GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在将其传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在CPU上。当然,所有传递都会增加执行的开销。

六、创建两个线程,其中一个输出1~52,另外一个输出A~Z。输出格式要求:

12A 34B 56C 78D。

七、介绍一下except的用法和作用。

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

八、Python如何捕获异常?

Python中捕获异常可以有三种方式。

(1)使用try和except语句来捕获异常,具体代码如下。

捕获到的IOError错误的详细原因会被放置在对象e中,然后运行该Python异常处理的except代码块捕获所有的异常。

(2)用raise语句手动引发一个异常,具体代码如下。

(3)采用sys模块回溯最后的异常,具体代码如下。

九、Python到底是什么样的语言?你可以比较其他技术或者语言来回答你的问题。

Python是解释型语言。这意味着不像C和其他语言,Python运行前不需要编译。其他解释型语言包括PHP和Ruby。Python是动态类型的,这意味着你不需要在声明变量时指定类型。Python是面向对象语言,所以允许定义类并且可以继承和组合。Python没有访问标识,如在C++中的public、private,在Python中,函数是一等公民。这就意味着它们可以被赋值,从其他函数返回值,并且传递函数对象。类不是一等公民。写Python代码很快,但是跑起来会比编译型语言慢。Python允许使用C扩展程序,所以瓶颈可以得到处理。Numpy库就是一个很好的例子,因为很多代码不是Python直接写的,所以运行很快。Python使用场景很多:Web应用开发、自动化、科学建模、大数据应用等。它也经常被看作“胶水”语言,使得不同语言间可以衔接上。Python能够简化工作,使得程序员能够关心如何重写代码而不是详细看一遍底层实现。

十、单元测试是什么?单元测试有什么好处?

单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或场景)下某个特定函数的行为。单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。

单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。通过单元测试我们能快速熟悉代码,不需要深入地阅读代码,便能知道这段代码做什么工作,有哪些特殊情况需要考虑,包含哪些业务。

相关文章

  • Python面试解析-03

    一、什么是Pillow库? Pillow是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对...

  • jsonpath解析

    2019-06-03 jsonpath用来解析json数据使用的 python处理json格式用到的函数 impo...

  • 11道面试中不常见却一定会问到Python题解析

    Python面试题解析 我们知道网上有非常多面试题的解析,但是其中往往是前几年的老题了。 为了帮助小伙伴们能够在P...

  • 11道面试中不常见却一定会问到Python题解析

    Python面试题解析 我们知道网上有非常多面试题的解析,但是其中往往是前几年的老题了。 为了帮助小伙伴们能够在P...

  • LeetCode | 面试题03. 数组中重复的数字【剑指Off

    LeetCode 面试题03. 数组中重复的数字【剑指Offer】【Easy】【Python】【数组】【哈希表】【...

  • python 面试题(4)

    我自己整理牛客网的python 面试题 1.请说明一下python的方法解析顺序 2.请说明一下python中is...

  • Python面试解析-02

    一、Python中pass语句的作用是什么? (1)pass语句什么也不做,一般作为占位符或者创建占位程序,pas...

  • Python面试解析-04

    一、什么是数据结构?为什么我们需要数据结构?常用的数据结构有哪些? 数据结构是计算机存储、组织数据的方式。对于特定...

  • Python面试解析-01

    一、什么是Python?使用Python有什么好处? Python是一种编程语言,它有对象、模块、线程、异常处理和...

  • Python装饰器解析

    和生成器一样,装饰器也是Python独有的概念,面试中非常容易被考察到。这篇文章从以下角度尝试解析Python装饰...

网友评论

      本文标题:Python面试解析-03

      本文链接:https://www.haomeiwen.com/subject/qlqjlltx.html