python面試題大全(二)

2021-07-29 22:50:10 字數 2632 閱讀 4126

1.python中類方法、類例項方法、靜態方法有何區別?

區別: 

使用示例:

python**:

1

class

a(object):

2def

foo(self,x): 3#

類例項方法

4print

"executing foo(%s,%s)

"%(self,x) 56

@classmethod

7def

class_foo(cls,x): 8#

類方法

9print

"executing class_foo(%s,%s)

"%(cls,x)

1011

@staticmethod

12def

static_foo(x): 13#

靜態方法

14print

"executing static_foo(%s)

"%x

呼叫方法

1 a =a()  

2 a.foo(1) //print : executing foo(<__main__.a object at>,1)

34 a.class_foo(1) //executing class_foo(

'__main__.a

'>,1)

5 a.class_foo(1) //executing class_foo(

'__main__.a

'>,1)

67 a.static_foo(1) //executing static_foo(1)

8 a.static_foo(1) //executing static_foo(1)

2.python中xrange和range的異同

xrange的用法與range完全相同,所不同的是xrange生成的不是乙個list,而是乙個生成器。要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。

range會直接生成乙個list物件:

1 >>> a = range(0, 50)

2 >>> print

type(a)3'

list

'>

4 >>> print

a5 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

而xrange則不會直接生成乙個list,而是每次呼叫返回其中的乙個值:

1 >>> a = xrange(0, 50)

2 >>> print

type(a)3'

xrange

'>

4 >>> print

a5 xrange(50)

3.請用python實現如下的c**問號表示式:

int n = a>b ?(a-b):0

要求使用最簡單的方式實現。

1 >>> n=(3>4) and (3-4) or

02 >>> printn3

04 >>> n=(3<4) and (3-4) or

05 >>> print

n6 -1

4.python的多執行緒的實現機制是什麼?在什麼情況下使用多執行緒能明顯提高程式效率?

5.寫出正規表示式從乙個字串中提取鏈結位址,如以下字串

href=>flexa>

需要提取的鏈結為「」

1 >>> href = re.findall(r"

", string)

2 >>> print

href

3 ['

']有人說後面.*?中的.和?不要,我試了下不行

1 >>> href = re.findall(r"

", string)

2 >>> print

href3

4 >>> href = re.findall(r"

", string)

5 >>> print

href

6

6.反轉由單詞和不定個數空格組成的字串,要求單詞中的字母順序不變。如:"i am   a      boy"反轉成「boy      a   am i」。

1 >>> import

re2 >>> string = "

i am a boy

"3 >>> revwords =''.join(re.split(r'

(\s+)

', string)[::-1])

4 >>> print

revwords

5 boy a am i

Python面試題大全(二)

原文 1.python中類方法 類例項方法 靜態方法有何區別?區別 使用示例 python 1 class a object 2def foo self,x 3 類例項方法 4print executing foo s,s self,x 56 classmethod 7def class foo c...

python面試題大全(二)

1.python中類方法 類例項方法 靜態方法有何區別?區別 使用示例 python 1 class a object 2def foo self,x 3 類例項方法 4print executing foo s,s self,x 56 classmethod 7def class foo cls,...

python面試題 二

x for x in range 1,n 1 i i 3 for i in range 0,len n 3 術語叫貪婪匹配 和非貪婪匹配 例如 test test 答 單引號和雙引號是等效的,如果要換行,需要符號 三引號則可以直接換行,並且可以包含注釋 如果要表示let s go 這個字串 單引號 ...