国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

求職Python開發(fā),面試官最喜歡問的幾個(gè)問題

AlphaWatch / 3037人閱讀

摘要:概述是個(gè)非常受歡迎的編程語言,隨著近些年機(jī)器學(xué)習(xí)云計(jì)算等技術(shù)的發(fā)展,的職位需求越來越高。下面我收集了一些面試官經(jīng)常問的問題,供大家參考學(xué)習(xí)。是創(chuàng)建對(duì)象是調(diào)用的。

關(guān)注公眾號(hào)「Python專欄」,后臺(tái)回復(fù):簡歷模板,獲取給大家準(zhǔn)備的價(jià)值99元的程序員簡歷模版11份。

0. 概述

Python是個(gè)非常受歡迎的編程語言,隨著近些年機(jī)器學(xué)習(xí)、云計(jì)算等技術(shù)的發(fā)展,Python的職位需求越來越高。下面我收集了一些Python面試官經(jīng)常問的問題,供大家參考學(xué)習(xí)。

1. 類繼承

有如下的一段代碼:

class A:
  def show(self):
      print "base show"

class B(A):
  def show(self):
      print "derived show"

obj = B()
obj.show()

如何調(diào)用類A的show方法了,方法如下:

obj.__class__ = A
obj.show()

__class__ 方法指向了類對(duì)象,只用給他賦值類型A,然后調(diào)用方法show,但是用完了記得修改回來。

2. 方法對(duì)象

問題:為了讓下面這段代碼運(yùn)行,需要增加哪些代碼?

class A(object):
  def __init__(self, a, b):
      self.__a = a
      self.__b = b
      
  def myprint(self):
      print("a=", self.__a, "b=", self.__b)

a1 = A(10,20)
a1.myprint()

a1(80)

答案:為了能讓對(duì)象實(shí)例能被直接調(diào)用,需要實(shí)現(xiàn) __call__ 方法

class A:
  def __init__(self, a, b):
      self.__a = a
      self.__b = b

  def myprint(self):
      print("a=", self.__a, "b=", self.__b)

  def __call__(self, num):
      print("call:", num + self.__a)
3. new和init

下面這段代碼輸出什么?

class B:
  def fn(self):
      print("B fn")

  def __init__(self):
      print("B INIT")


class A(object):
  def fn(self):
      print("A fn")

  def __new__(cls,a):
          print("NEW", a)
          if a>10:
              return super(A, cls).__new__(cls)
          return B()

  def __init__(self,a):
      print("INIT", a)

a1 = A(5)
a1.fn()
a2=A(20)
a2.fn()

答案:

NEW 5
B INIT
B fn
NEW 20
INIT 20
A fn

使用 __new__ 方法,可以決定返回那個(gè)對(duì)象,也就是創(chuàng)建對(duì)象之前,這個(gè)可以用于設(shè)計(jì)模式的單例、工廠模式。__init__ 是創(chuàng)建對(duì)象是調(diào)用的。

4. Python list和dict生成

下面這段代碼輸出什么?

ls = [1,2,3,4]
list1 = [i for i in ls if i>2]
print(list1)

list2 = [i*2 for i in ls if i>2]
print(list2)

dic1 = {x: x**2 for x in (2, 4, 6)}
print(dic1)

dic2 = {x: "item" + str(x**2) for x in (2, 4, 6)}
print(dic2)

set1 = {x for x in "hello world" if x not in "low level"}
print(set1)

答案:

[3, 4]  
[6, 8]
{2: 4, 4: 16, 6: 36}
{2: "item4", 4: "item16", 6: "item36"}
set(["h", "r", "d"])
5. 全局和局部變量

下面這段代碼輸出什么?

num = 9

def f1():
  num = 20

def f2():
  print(num)

f2()
f1()
f2()

答案:

9
9

num 不是個(gè)全局變量,所以每個(gè)函數(shù)都得到了自己的 num 拷貝,如果你想修改 num,則必須用 global 關(guān)鍵字聲明。比如下面這樣:

num = 9

def f1():
  global num
  num = 20

def f2():
 print(num)

f2()
f1()
f2()
6. 交換兩個(gè)變量的值

一行代碼交換兩個(gè)變量值

a = 8
b = 9

答案:

a, b = b, a
7. 默認(rèn)方法

如下的代碼:

class A(object):
  def __init__(self,a,b):
      self.a1 = a
      self.b1 = b
      print("init")

  def mydefault(self):
      print("default")

a1 = A(10,20)
a1.fn1()
a1.fn2()
a1.fn3()

方法 fn1 / fn2 / fn3 都沒有定義,添加代碼,是沒有定義的方法都調(diào)用 mydefault 函數(shù),上面的代碼應(yīng)該輸出

default
default
default

答案:

class A(object):
  def __init__(self,a,b):
      self.a1 = a
      self.b1 = b
      print("init")

  def mydefault(self):
      print("default")

  def __getattr__(self,name):
      return self.mydefault

a1 = A(10,20)
a1.fn1()
a1.fn2()
a1.fn3()

方法 __getattr__ 只有當(dāng)沒有定義的方法調(diào)用時(shí),才是調(diào)用他。當(dāng)fn1 方法傳入?yún)?shù)時(shí),我們可以給 mydefault 方法增加一個(gè) *args 不定參數(shù)來兼容。

class A:
  def __init__(self,a,b):
      self.a1 = a
      self.b1 = b
      print("init")

  def mydefault(self,*args):
      print("default:" + str(args[0]))

  def __getattr__(self,name):
      print("other fn:", name)
      return self.mydefault

a1 = A(10,20)
a1.fn1(33)
a1.fn2("hello")
a1.fn3(10)
8. 包管理

一個(gè)包里有三個(gè)模塊,mod1.py, mod2.py, mod3.py,但使用 from demopack import * 導(dǎo)入模塊時(shí),如何保證只有mod1mod3 被導(dǎo)入了。

答案:增加 __init__.py 文件,并在文件中增加:

__all__ = ["mod1", "mod3"]
9. 閉包

寫一個(gè)函數(shù),接收整數(shù)參數(shù)n,返回一個(gè)函數(shù),函數(shù)的功能是把函數(shù)的參數(shù)和n相乘并把結(jié)果返回。

答案:

def mulby(num):
  def gn(val):
      return num * val
  return gn

zw = mulby(7)
print(zw(9));

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43334.html

相關(guān)文章

  • 【專欄第一篇】分享實(shí)用美國求職面試經(jīng)歷,技巧,以及超實(shí)用網(wǎng)站

    摘要:目前是剛到美國個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。國內(nèi)說到關(guān)系,大多是負(fù)面的,但是美國這邊叫,他們確實(shí)對(duì)這個(gè)很推崇的。 前言:先自我介紹一下,我是新晉前端小白白,15年畢業(yè)之后,在相關(guān)領(lǐng)域工作3年,但一直都在自我提升階段。目前是剛到美國2個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。愿同道中人共同進(jìn)步!有...

    smallStone 評(píng)論0 收藏0
  • 【專欄第一篇】分享實(shí)用美國求職面試經(jīng)歷,技巧,以及超實(shí)用網(wǎng)站

    摘要:目前是剛到美國個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。國內(nèi)說到關(guān)系,大多是負(fù)面的,但是美國這邊叫,他們確實(shí)對(duì)這個(gè)很推崇的。 前言:先自我介紹一下,我是新晉前端小白白,15年畢業(yè)之后,在相關(guān)領(lǐng)域工作3年,但一直都在自我提升階段。目前是剛到美國2個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。愿同道中人共同進(jìn)步!有...

    lufficc 評(píng)論0 收藏0
  • 【專欄第一篇】分享實(shí)用美國求職面試經(jīng)歷,技巧,以及超實(shí)用網(wǎng)站

    摘要:目前是剛到美國個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。國內(nèi)說到關(guān)系,大多是負(fù)面的,但是美國這邊叫,他們確實(shí)對(duì)這個(gè)很推崇的。 前言:先自我介紹一下,我是新晉前端小白白,15年畢業(yè)之后,在相關(guān)領(lǐng)域工作3年,但一直都在自我提升階段。目前是剛到美國2個(gè)多月,分享在美國求職的經(jīng)歷,目前已有面試進(jìn)入背調(diào)階段,把我期間的準(zhǔn)備分享給大家。愿同道中人共同進(jìn)步!有...

    forrest23 評(píng)論0 收藏0
  • 技術(shù)面試中的軟技能

    摘要:閱讀原文技術(shù)面試中的軟技能作為求職者時(shí),只聽別人說如何面試,按部就班的做,沒有特別的體會(huì)。如今作為面試官,面試別人時(shí),才發(fā)現(xiàn)什么才是重要的事情。 閱讀原文:技術(shù)面試中的軟技能 作為求職者時(shí),只聽別人說如何面試,按部就班的做,沒有特別的體會(huì)。如今作為面試官,面試別人時(shí),才發(fā)現(xiàn)什么才是重要的事情。 形象 形象包括衣著發(fā)型和五官。衣著不必太正式(西裝),但也不能夠太隨意,比如肥胖的T恤和外套...

    jzman 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<