日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

11道Python最基本的面试题

發布時間:2025/3/20 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11道Python最基本的面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.單引號,雙引號,三引號的區別

分別闡述3種引號用的場景和區別

1),單引號和雙引號主要用來表示字符串

比如:

單引號:‘python’

雙引號:“python”

2).三引號

三單引號:’’‘python ‘’’,也可以表示字符串一般用來輸入多行文本,或者用于大段的注釋

三雙引號:""“python”"",一般用在類里面,用來注釋類,這樣省的寫文檔,直接用類的對象__doc__訪問獲得文檔

區別:

若你的字符串里面本身包含單引號,必須用雙引號

比如:“can’t find the log\n”

2.Python的參數傳遞是值傳遞還是引用傳遞

舉例說明Python函數參數傳遞的幾種形式,并說明函數傳參是值傳遞還是引用傳遞

1).Python的參數傳遞有:

位置參數

默認參數,

可變參數,

關鍵字參數

2).函數的傳值到底是值傳遞還是引用傳遞,要分情況

a.不可變參數用值傳遞:

像整數和字符串這樣的不可變對象,是通過拷貝進行傳遞的,因為你無論如何都不可能在原處改變不可變對象

b.可變參數是用引用傳遞的

比如像列表,字典這樣的對象是通過引用傳遞,和C語言里面的用指針傳遞數組很相似,可變對象能在函數內部改變.

3.什么是lambda函數?它有什么好處?

舉例說明lambda的用法,并說明用lambda的優點

1).lambda的用法:

lambda是匿名函數,用法如下:lambda arg1,arg2…argN:expression using args

2).優點

lambda能和def做同樣種類的工作,特別是對于那些邏輯簡單的函數,直接用lambda會更簡潔,而且省去取函數名的麻煩(給函數取名是個技術活)

4.字符串格式化:%和.format的區別

字符串的format函數非常靈活,很強大,可以接受的參數不限個數,并且位置可以不按順序,而且有較為強大的格式限定符(比如:填充,對齊,精度等)

5.Python是如何進行內存管理的

1).對象的引用計數機制

Python內部使用引用計數,來保持追蹤內存中的對象,所有對象都有引用計數。

引用計數增加的情況:

一個對象分配一個新名稱

將其放入一個容器中(如列表、元組或字典)

引用計數減少的情況:

使用del語句對對象別名顯示的銷毀

引用超出作用域或被重新賦值

2).垃圾回收

當一個對象的引用計數歸零時,它將被垃圾收集機制處理掉。

3).內存池機制

Python提供了對內存的垃圾收集機制,但是它將不用的內存放到內存池而不是返回給操作系統:

Pymalloc機制:為了加速Python的執行效率,Python引入了一個內存池機制,用于管理對小塊內存的申請和釋放。

對于Python對象,如整數,浮點數和List,都有其獨立的私有內存池,對象間不共享他們的內存池。也就是說如果你分配又釋放了大量的整數,用于緩存這些整數的內存就不能再分配給浮點數。

6.寫一個函數, 輸入一個字符串, 返回倒序排列的結果

輸入: string_reverse(‘abcdef’), 返回: ‘fedcba’,寫出你能想到的多種方法

1).利用字符串本身的翻轉

def string_reverse1(text='abcdef'):return text[::-1]

2).把字符串變成列表,用列表的reverse函數

3).新建一個列表,從后往前取

4).利用雙向列表deque中的extendleft函數

5).遞歸

7.按升序合并如下兩個list, 并去除重復的元素

list1 = [2, 3, 8, 4, 9, 5, 6]list2 = [5, 6, 10, 17, 11, 2]

1).最簡單的方法用set

list3=list1+list2print sorted(list(set(list3)))

2).遞歸

先選一個中間數,然后一邊是小的數字,一邊是大的數字,然后再循環遞歸,排完序(是不是想起了c里面的冒泡)

8.以下的代碼的輸出將是什么? 說出你的答案并解釋

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' class Parent(object):x = 1class Child1(Parent):passclass Child2(Parent):passprint Parent.x, Child1.x, Child2.xChild1.x = 2print Parent.x, Child1.x, Child2.xParent.x = 3print Parent.x, Child1.x, Child2.x>>1 1 11 2 13 2 3

解答:

**使你困惑或是驚奇的是關于最后一行的輸出是 3 2 3 而不是 3 2 1。**為什么改變了 Parent.x 的值還會改變 Child2.x 的值,但是同時 Child1.x 值卻沒有改變?

這個答案的關鍵是,在 Python中,類變量在內部是作為字典處理的。如果一個變量的名字沒有在當前類的字典中發現,將搜索祖先類(比如父類)直到被引用的變量名被找到.

首先,在父類中設置 x = 1 會使得類變量 x 在引用該類和其任何子類中的值為 1。這就是因為第一個 print 語句的輸出是 1 1 1

然后,如果任何它的子類重寫了該值(例如,我們執行語句 Child1.x = 2)該值僅僅在子類中被改變。這就是為什么第二個 print 語句的輸出是 1 2 1

最后,如果該值在父類中被改變(例如,我們執行語句 Parent.x = 3),這個改變會影響到任何未重寫該值的子類當中的值(在這個示例中被影響的子類是 Child2)。這就是為什么第三個 print 輸出是 3 2 3

9.下面的代碼會不會報錯

list = ['a', 'b', 'c', 'd', 'e']print list[10:]

不會報錯,而且會輸出一個 [],并且不會導致一個 IndexError

解答:

當試圖訪問一個超過列表索引值的成員將導致 IndexError(比如訪問以上列表的 list[10])。盡管如此,試圖訪問一個列表的以超出列表長度數作為開始索引的切片將不會導致 IndexError,并且將僅僅返回一個空列表

一個討厭的小問題是它會導致出現 bug ,并且這個問題是難以追蹤的,因為它在運行時不會引發錯誤,吐血啊~~

10.說出下面list1,list2,list3的輸出值

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def extendList(val, list=[]):list.append(val)return listlist1 = extendList(10)list2 = extendList(123,[])list3 = extendList('a')print "list1 = %s" % list1print "list2 = %s" % list2print "list3 = %s" % list3>>list1 = [10, 'a']list2 = [123]list3 = [10, 'a']

許多人會錯誤的認為 list1 應該等于 [10] 以及 list3 應該等于 [‘a’]。認為 list 的參數會在 extendList 每次被調用的時候會被設置成它的默認值 []。

盡管如此,實際發生的事情是,新的默認列表僅僅只在函數被定義時創建一次。隨后當 extendList 沒有被指定的列表參數調用的時候,其使用的是同一個列表。這就是為什么當函數被定義的時候,表達式是用默認參數被計算,而不是它被調用的時候。

因此,list1 和 list3 是操作的相同的列表。而list2是操作的它創建的獨立的列表(通過傳遞它自己的空列表作為list參數的值)

所以這一點一定要切記切記.下面我們把list置為None就可以避免一些麻煩了

1****1.寫出你認為最Pythonic的代碼

**Pythonic編程風格是Python的一種追求的風格,**精髓就是追求直觀,簡潔而容易讀.

下面是一些比較好的例子

1).交互變量

非Pythonic

temp = aa = bb = temp

pythonic:

a,b=b,a

2).判斷其值真假

name = 'Tim'langs = ['AS3', 'Lua', 'C']info = {'name': 'Tim', 'sex': 'Male', 'age':23 }

非Pythonic

if name != '' and len(langs) > 0 and info != {}:print('All True!')

pythonic:

if name and langs and info:print('All True!')

3).列表推導式

[x for x in range(1,100) if x%2==0]

4).zip創建鍵值對

keys = ['Name', 'Sex', 'Age']values = ['Jack', 'Male', 23]dict(zip(keys,values))

pythonic的代碼很多,這里舉幾個典型的例子

總結

以上是生活随笔為你收集整理的11道Python最基本的面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩激情视频在线 | 国产传媒一级片 | 97在线观看免费高清 | 亚洲国产精品欧美久久 | 国产精品久久久久久99 | 在线观看中文字幕av | 中文字幕黄色av | 黑人专干日本人xxxx | 天堂精品 | 最好看的mv中文字幕国语电影 | 俺来也av | 午夜一区在线观看 | 外国a级片| 福利一二三区 | 丰满少妇一区二区 | 久久久久久亚洲中文字幕无码 | 欧美毛片基地 | 靠逼视频网站 | 五月花婷婷 | 毛片看| 精品久久久精品 | 无遮挡毛片 | 日本一区二区三区四区在线观看 | 欧美aa大片 | 伊人成年网 | 九九资源网 | 一道本在线| 98在线视频 | gogo人体做爰大胆视频 | 中文字幕一区二区人妻电影丶 | 日本黄色a视频 | 色综合社区 | 国产精品极品白嫩 | 亚洲最新av网站 | 人妻内射一区二区在线视频 | 美女主播在线观看 | 日日操夜夜爽 | 日韩精品乱码久久久久久 | 日韩av手机在线播放 | 国产精品高清在线观看 | 在线观看黄色片 | 海量av资源 | 体感预报日剧 | 黄色网址视频 | 国产真实乱 | 亚洲一区精品视频在线观看 | 九色视频在线播放 | 亚洲欧美在线观看视频 | 亚洲少妇15p | beeg日本高清xxxx18 | 青青在线视频观看 | 国产精品xxxxxx| 久久精品久久久精品美女 | 99999精品视频 | 怡红院成人网 | 久草香蕉在线 | 无码人妻精品一区二区三 | 国产调教打屁股xxxx网站 | 国产视频一区二区三区在线观看 | www中文字幕在线观看 | 色哟哟免费观看 | 亚洲女人天堂 | 欧美乱妇一区二区三区 | 我和单位漂亮少妇激情 | 欧美jizz18性欧美 | 久久一视频 | 在线观看av国产一区二区 | 久久国产精品精品国产 | 国产福利视频在线观看 | 国产免费一区二区三区在线播放 | 一区二区在线观看视频 | 黄色一级片一级片 | 日韩一级片免费 | 国产真实老熟女无套内射 | 一区二区三区视频在线观看免费 | 四虎免费av | 国产成人午夜精品无码区久久 | 国产美女久久久久 | 精品熟妇一区二区三区 | 那个网站可以看毛片 | 亚洲成人久久久久 | 超碰888| 免费黄色欧美 | 91视频一区二区 | 国产xxxxx在线观看 | 少妇无套内谢免费视频 | 一级大片视频 | caopor在线 | 爱逼综合| 亚洲一区二区免费在线观看 | 日韩女同一区二区三区 | 韩日精品在线观看 | 亚洲av成人片色在线观看高潮 | 免费观看全黄做爰的视频 | 超薄肉色丝袜一区二区 | 中文字字幕在线中文乱码电影 | 牛牛视频在线观看 | 一区二区三区精品久久久 | 精品91av|