• 手机站
  • 收藏
聚培教育网合作机构 > 大连达内教育
大连达内教育
400-998-6158
大连达内教育是一家由留学海归创办的高端职业教育培训机构,是中国人才培养平台、人才输送平台。
大连达内教育

python面试题及技巧带答案

python学习网

更新时间:2021-10-28 浏览:98
核心提示:Python是现阶段程序编写行业最畅销的语言表达。在文中中,我将汇总Python招聘面试中常用的一些难题。每道题目都给予答案

Python是现阶段程序编写行业最畅销的语言表达。在文中中,我将汇总Python招聘面试中常用的一些难题。每道题目都给予答案,期待可以协助到大伙儿,也祝大家在求职应聘中出类拔萃,造就自身。

1.Python中的实例方法.静态方法和类方法有什么不同?

实例方法:接纳self主要参数,而且与类的特殊例子有关。

静态方法:应用装饰器 @staticmethod,与特殊案例不相干,而且是自包括的(不可以改动类或案例的特性)。

类方法:接纳cls主要参数,而且需要改动类自身。

大家将进行一个编造的CoffeeShop类来表明他们相互之间的差别。

class CoffeeShop:

specialty = 'espresso'

def ._init._(self, coffee_price):

self.coffee_price = coffee_price

# instance method

def make_coffee(self):

print(f'Making {self.specialty} for ${self.coffee_price}')

# static method

@staticmethod

def check_weather():

print('Its sunny') # class method

@classmethod

def change_specialty(cls, specialty):

cls.specialty = specialty

print(f'Specialty changed to {specialty}')

CoffeeShop类有一个特性specialty,初始值设为“espresso”。CoffeeShop类的一个案例复位时都采用了coffee_price这一特性。与此同时,它也有3个方式 ,一个实例方法,一个静态方法和一个类方法。

使我们将coffee_price的值设成5,来复位CoffeeShop的一个案例。随后启用实例方法make_coffee。

coffee_shop = CoffeeShop('5')

coffee_shop.make_coffee()

#=> Making espresso for $5

如今让我们来启用静态方法。静态方法没法改动类或案例情况,因而一般用以专用工具涵数,比如,把两个数据求和。大家在这里用它来查验气温。阳光明媚。太棒了!

coffee_shop.check_weather()

#=> Its sunny

如今我们一起应用类方法改动CoffeeShop的特性specialty,随后启用make_coffee()方式 来制做现磨咖啡。

coffee_shop.change_specialty('drip coffee')

#=> Specialty changed to drip coffeecoffee_shop.make_coffee()

#=> Making drip coffee for $5

留意:make_coffee以往是拿来做意式浓缩咖啡现磨咖啡(espresso)的,但如今用于做滴滤咖啡(drip coffee)了!

2. “func”和“ func()”有什么不同?

这个问题的效果是想看看你是不是了解全部涵数也是Python中的目标。

def func():

print('Im a function')

func

#=> function ._main._.func>func()

#=> Im a function

func是代表变量的目标,它需要被划分给自变量或传送给另一个涵数。带圆括号的func()启用该涵数并回到其輸出。

3. 表述map函数的原理。

Map涵数回到一个目录,该目录由对编码序列中的不同原素运用一个涵数时返还的值构成。

def add_three(x):

return x 3li = [1,2,3][i for i in map(add_three, li)]

#=> [4, 5, 6]

上边,我对目录中的不同因素的值加了3。

4. 表述reduce函数的原理。

这个问题很繁杂,在你应用过它几回以前,你得勤奋试着自身可以掌握它。

reduce接纳一个涵数和一个编码序列,随后对编码序列开展迭代更新。在每一次迭代更新中,当今原素和前一个原素的輸出都分享给涵数。最终,回到一个值。

from functools import reduce

def add_three(x,y):

return x y

li = [1,2,3,5]

reduce(add_three, li)

#=> 11

回到11,它是1 2 3 5的总数。

5.表述filter涵数的原理

Filter涵数说白了,是用于按序过虑原素。

每一个要素都被传送给一个涵数,假如涵数回到True,则在輸出编码序列中回到该原素;假如涵数回到False,则将其丢掉。

def add_three(x):

if x % 2 == 0:

return True

else:

return Falseli = [1,2,3,4,5,6,7,8][i for i in filter(add_three, li)]

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

留意上边全部不可以被2整除的原素怎样被删掉的。

更多>同类资讯
更多>相关课程
顶部