返回

长春达内教育

六个Python经典面试题分享

python学习网更新时间:2021-10-29 浏览:135

六个Python经典面试题分享

1. 目录(list)和元组(tuple)有什么不同?

在我每一次面试Python大数据工程师的应聘中,这个问题都是会被问起。因此对这个问题的回答,我能说成了然于胸。目录是可调的。建立后能够对其进行改动。元组是*须变的。元组一旦建立,就不可以对其开展变更。

目录表明的是次序。他们是井然有序编码序列,一般是同一种类的目标。例如按建立日期排列的全部登录名,如["Seth", "Ema", "Eli"]。

元组表明的是构造。能够用于储存不一样基本数据类型的原素。例如运行内存中的数据库查询纪录,如(2, "Ema", "2020–04–16")(#id, 名字,建立日期)。

2. 怎样开展字符串数组插值法?

在没有导进Template类的情形下,有3种形式开展字符串数组插值法。

name = 'Chris'

# 1. f stringsprint(f'Hello {name}')

# 2. % operatorprint('Hey %s %s' % (name, ame))

# 3. format

print(

"My name is {}".format((name)))

3. “is”和“==”有什么不同?

在我的Python职业发展的初期,我觉得他们是同样的,因此生产制造了一些bug。因此请大伙儿听好啦,“is”用于查验目标的标志(id),而“==”用于查验2个目标是不是相同。大家将进行一个事例表明。建立一些目录并将其分派给不一样的名称。一定要注意,下边的b偏向与a同样的目标。

a = [1,2,3]

b = a

c = [1,2,3]

下边来查验是不是相同,你能注意到数据显示他们全是相同的。

print(a == b)

print(a == c)

#=> True

#=> True

可是两者都具有同样的标志(id)吗?回答不是。

print(a is b)

print(a is c)

#=> True

#=> False

我们可以根据打印出她们的目标标志(id)来认证这一点。

print(id(a))

print(id(b))

print(id(c))

#=> 4369567560

#=> 4369567560

#=> 4369567624

你能见到:c和a和b具备各种各样的标志(id)。

4. 什么叫装饰器(decorator)?

这也是每一次应聘我一定会被问起的另一个难题。它实际上就非常值得写一篇文章。假如你能自身用它撰写一个事例,那麼表明你早已办好了提前准备。

装饰器容许根据将目前涵数传送给装饰器,进而向目前涵数加上一些附加的作用,该装饰器将实行目前涵数的措施和加入的附加作用。

大家将撰写一个装饰器,该装饰器会在启用另一个涵数时纪录日志。

撰写装饰器涵数logging。它接纳一个涵数func做为主要参数。它还界定了一个名叫log_function_called的涵数,它先实行打印出出一些“涵数func被启用”的信息内容(print(f'{func} called.')),随后函数调用func()。最终回到界定的涵数。

def logging(func):

def log_function_called():

print(f'{func} called.')

func()

return log_function_called

使我们撰写别的2个涵数,大家以后会将装饰器加上到在其中(但都还没)。

def my_name():

print('chris')def friends_name():

print('naruto')my_name()

friends_name()

#=> chris

#=> naruto

如今将装饰器加上到上边撰写的2个涵数当中。

@logging

def my_name():

print('chris')@logging

def friends_name():

print('naruto')my_name()

friends_name()

#=> x10fca5a60> called.

#=> chris

#=> x10fca5f28> called.

#=> naruto

如今,你了解了怎样只是根据在其上边加上@logging(装饰器),就会更好地将日志加上到大家撰写的一切涵数中。

5. 表述Range函数

Range函数能够用于建立一个整数金额目录,一般用在for循环中。它有3种操作方法。

Range函数能够接纳1到3个主要参数,主要参数务必是整数金额。

一定要注意:我已经将range的每一种使用方法包裝在一个递推式结构目录(list comprehension)中,便于我们可以见到转化成的值。

使用方法1 - range(stop):转化成从0到主要参数“stop”中间的整数金额。

[i for i in range(10)]

#=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

使用方法2 - range(start, stop) : 转化成从主要参数“start”到“stop”中间的整数金额

[i for i in range(2,10)]

#=> [2, 3, 4, 5, 6, 7, 8, 9]

使用方法3 - range(start, stop, step):以主要参数“step”为步幅,转化成从“start”到“stop”中间的整数金额。

[i for i in range(2,10,2)]

#=> [2, 4, 6, 8]

6. 界定一个名叫car的类,它有两个特性:“color”和“speed”。随后建立一个案例并回到“speed”。

class Car :

def ._init._(self, color, speed):

self.color = color

self.speed = speedcar = Car('red','100mph')

car.speed

#=> '100mph'

相关资讯

Python操作Excel教程:average函数求平均值的算法
2021-10-30 922
Python操作Excel教程-average函数求平均值...
人工智能和创客教育有什么区别
2022-11-05 881
人工智能和创客教育有什么区别对于人工智能,教育工作者首先要了解和接触这些技术,然后在课堂上介绍给学生。在这个过程中,教师...
怎么用热力图实现Python数据可视化
2021-10-28 749
大数据可视化是计算机科学或深度学习新项目中十分特别的一环。一般,你需要在工程前期开展探究性的数据统计分析(EDA),进而对信息有一定的掌握,并且建立数据可视化的确能够使剖析的目的更清楚...
人工智能在制造业的生产中可以发挥哪些作用
2021-06-12 468
人工智能在制造业的生产中可以发挥的作用共分为7项,分别是:1、预测性和预防性维护;2、提高机器人的效能;3、制造供应链;...
二维密度图实现Python可视化的方法
2021-10-28 451
二维密度图(2D Density Plot)是一维版本号密度图的形象化拓展,相对性于一维版本号,其特点是可以见到有关2个自变量的概率分布函数...
Python的基础语法
2021-11-03 447
编写Paython程序流程以前*对英语的语法有一定的掌握,才可以编写标准的Python程序流程...
Python操作Excel教程:提取Excel工作表的名字并修改的方法
2021-10-30 385
Python操作Excel教程-提取Excel工作表的名字并修改...
怎么运行python
2023-01-10 382
怎么运行python1. 使用Python自带的IDLE在开始--程序--Python2.5(视你安装的版本而不同)中找到IDLE(Python GUI),点击后弹出如下...

相关课程

栏目导航