最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python工程師必考的6個經(jīng)典面試題

 更新時間:2020年06月28日 08:06:41   作者:愛喝馬黛茶的安東尼  
在本篇文章里小編給大家分享的是一篇關(guān)于6個Python工程師必考的面試題,有需要的朋友們可以參考學(xué)習(xí)下。

第1題:Python里面如何實現(xiàn)tuple和list的轉(zhuǎn)換?

函數(shù)tuple(seq)可以把所有可迭代的(iterable)序列轉(zhuǎn)換成一個tuple, 元素不變,排序也不變

list轉(zhuǎn)為tuple:

temp_list = [1,2,3,4,5]

將temp_list進(jìn)行強制轉(zhuǎn)換:tuple(temp_list)

確定是否轉(zhuǎn)換成功:print(type(temp_list))

函數(shù)list(seq)可以把所有的序列和可迭代的對象轉(zhuǎn)換成一個list,元素不變,排序也不變

tuple轉(zhuǎn)為list:

temp_tuple = (1,2,3,4,5)

方法類似,也是進(jìn)行強制轉(zhuǎn)換即可:list(temp_tuple)

確定是否轉(zhuǎn)換成功:print(type(temp_tuple))

第2題:Python里面search()和match()的區(qū)別?

它們兩個都在re模塊中

·match()函數(shù)是在string的開始位置匹配,如果不匹配,則返回None;

·search()會掃描整個string查找匹配;

match()

>>> import re
>>> print(re.match('hello','helloworld').span())  # 開頭匹配到
(0, 5)
>>> print(re.match('hello','nicehelloworld').span()) # 開頭沒有匹配到
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print(re.match('hello','nicehelloworld').span())
AttributeError: 'NoneType' object has no attribute 'span'
>>>

search()

>>> print(re.search('a','abc'))
<_sre.SRE_Match object; span=(0, 1), match='a'>
>>> print(re.search('a','bac').span())
(1, 2)
>>>

結(jié)論:match() 使用限制更多

第3題: 如何用Python刪除一個文件?

os模塊的使用

os.remove(path)

刪除文件 path,刪除時候如果path是一個目錄, 拋出 OSError錯誤。如果要刪除目錄,請使用rmdir()。

remove() 同 unlink() 的功能是一樣的

os.remove('a.txt')
os.removedirs(path)

遞歸地刪除目錄。類似于rmdir(), 如果子目錄被成功刪除, removedirs() 將會刪除父目錄;但子目錄沒有成功刪除,將拋出錯誤。

例如,os.removedirs(“a/b/c”) 將首先刪除c目錄,然后刪除b和a,如果他們是空的話,則子目錄不能成功刪除,將拋出OSError異常

os.rmdir(path)

刪除目錄 path,要求path必須是個空目錄,否則拋出OSError錯誤

第4題: is 和 == 的區(qū)別?

hon中對象包含的三個基本要素,分別是:id(身份標(biāo)識)、type(數(shù)據(jù)類型)和value(值)

id 身份標(biāo)識,就是在內(nèi)存中的地址

完整的舉例

>>> a = 'hello'
>>> b = 'hello'
>>> print(a is b)
True
>>> print(a==b)
True
>>> a = 'hello world'
>>> b = 'hello world'
>>> print(a is b)
False
>>> print(a == b)
True
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> print(a is b)
False
>>> print(a == b)
True
>>> a = [1,2,3]
>>> b = a
>>> print(a is b)
True
>>> print(a == b)
True
>>>

==是python標(biāo)準(zhǔn)操作符中的比較操作符,用來比較判斷兩個對象的value(值)是否相等

is也被叫做同一性運算符(對象標(biāo)示符),這個運算符比較判斷的是對象間的唯一身份標(biāo)識,也就是id(內(nèi)存中的地址)是否相同

我們在檢查 a is b 的時候,其實相當(dāng)于檢查 id(a) == id(b)。而檢查a == b 的時候,實際是調(diào)用了對象 a 的 __eq()__ 方法,a == b 相當(dāng)于 a.__eq__(b)。

這里還有一個問題,為什么 a 和 b 都是 “hello” 的時候,a is b 返回True,而 a 和 b都是 “hello world” 的時候,a is b 返回False呢?

這是因為前一種情況下Python的字符串駐留機制起了作用。對于較小的字符串,為了提高系統(tǒng)性能Python會保留其值的一個副本,當(dāng)創(chuàng)建新的字符串的時候直接指向該副本即可。

所以 “hello” 在內(nèi)存中只有一個副本,a 和 b 的 id 值相同,而 “hello world” 是長字符串,不駐留內(nèi)存,Python中各自創(chuàng)建了對象來表示 a 和 b,所以他們的值相同但 id 值不同。

試一下當(dāng)a=247,b=247時它們的id還是否會相等。事實上Python 為了優(yōu)化速度,使用了小整數(shù)對象池,避免為整數(shù)頻繁申請和銷毀內(nèi)存空間。而Python 對小整數(shù)的定義是 [-5, 257),只有數(shù)字在-5到256之間它們的id才會相等,超過了這個范圍就不行了。

>>> a = 247
>>> b = 247
>>> print(a is b)
True
>>> a = 258
>>> b = 258
>>> print(a is b)
False
>>>

is 是檢查兩個對象是否指向同一塊內(nèi)存空間,而 == 是檢查他們的值是否相等。is 比 == 更加嚴(yán)格。

第5題:a=1, b=2, 不用中間變量交換a和b的值?

方法一

>>> a = 5
>>> b = 6
>>> a = a+b
>>> b = a-b
>>> a = a-b

方法二

>>> a = a^b
>>> b = b^a
>>> a = a^b

方法三

a,b = b,a

第6題:說說你對zen of python的理解,你有什么辦法看到它?

Python之禪

import this

試題擴展:

語言特性

1.談?wù)剬?Python 和其他語言的區(qū)別
2.簡述解釋型和編譯型編程語言
3.Python 的解釋器種類以及相關(guān)特點?
4.說說你知道的Python3 和 Python2 之間的區(qū)別?
5.Python3 和 Python2 中 int 和 long 區(qū)別?
6.xrange 和 range 的區(qū)別?

編碼規(guī)范

7.什么是 PEP8?
8.了解 Python 之禪么?
9.了解 docstring 么?
10.了解類型注解么?
11.例舉你知道 Python 對象的命名規(guī)范,例如方法或者類等
12.Python 中的注釋有幾種?
13.如何優(yōu)雅的給一個函數(shù)加注釋?
14.如何給變量加注釋?
15.Python 代碼縮進(jìn)中是否支持 Tab 鍵和空格混用。
16.是否可以在一句 import 中導(dǎo)入多個庫?
17.在給 Py 文件命名的時候需要注意什么?
18.例舉幾個規(guī)范 Python 代碼風(fēng)格的工具

到此這篇關(guān)于Python工程師必考的6個經(jīng)典面試題的文章就介紹到這了,更多相關(guān)6個Python工程師必考的面試題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲入門教程01之爬取豆瓣Top電影

    Python爬蟲入門教程01之爬取豆瓣Top電影

    這篇文章主要介紹了Python爬蟲入門教程01:豆瓣Top電影爬取的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python實現(xiàn)簡單的2048小游戲

    Python實現(xiàn)簡單的2048小游戲

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)簡單的2048小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 淺談pytorch中的nn.Sequential(*net[3: 5])是啥意思

    淺談pytorch中的nn.Sequential(*net[3: 5])是啥意思

    這篇文章主要介紹了pytorch中的nn.Sequential(*net[3: 5])是啥意思,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 深入解析Python中占位符%的使用方法

    深入解析Python中占位符%的使用方法

    在Python中,%占位符是一種強大的工具,用于格式化字符串,本文將深入解析Python中占位符的使用方法,包括字符串格式化、數(shù)字格式化、日期格式化等多個方面,需要的可以參考下
    2023-12-12
  • python?OpenCV實現(xiàn)圖像特征匹配示例詳解

    python?OpenCV實現(xiàn)圖像特征匹配示例詳解

    這篇文章主要為大家介紹了python?OpenCV實現(xiàn)圖像特征匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出

    Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出

    這篇文章主要介紹了Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Tensorflow 1.0之后模型文件、權(quán)重數(shù)值的讀取方式

    Tensorflow 1.0之后模型文件、權(quán)重數(shù)值的讀取方式

    今天小編就為大家分享一篇Tensorflow 1.0之后模型文件、權(quán)重數(shù)值的讀取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實現(xiàn)輕松識別數(shù)百個快遞單號

    Python實現(xiàn)輕松識別數(shù)百個快遞單號

    當(dāng)我們要寄出很多快遞時,為了及時反饋物流信息,需要盡快將快遞單號提取出來。這時用手動去識別真的太麻煩,所以本文將用Python實現(xiàn)輕松識別數(shù)百個快遞單號,需要的可以參考一下
    2022-06-06
  • Python中多返回值的應(yīng)用場景

    Python中多返回值的應(yīng)用場景

    Python 是一種非常靈活的編程語言,它允許函數(shù)返回多個值,本文主要介紹了Python中多返回值的應(yīng)用場景,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • python3+PyQt5實現(xiàn)自定義窗口部件Counters

    python3+PyQt5實現(xiàn)自定義窗口部件Counters

    這篇文章主要為大家詳細(xì)介紹了python3+PyQt5實現(xiàn)自定義窗口部件,Counters自定窗口部件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論

海伦市| 邓州市| 凌云县| 视频| 成安县| 商洛市| 台中市| 任丘市| 咸阳市| 望谟县| 寻乌县| 宝兴县| 即墨市| 调兵山市| 衡水市| 凤城市| 田阳县| 昌江| 遵义市| 屏边| 临武县| 嘉峪关市| 绍兴市| 信阳市| 金山区| 金华市| 靖安县| 连城县| 桦川县| 湘西| 双城市| 保德县| 青铜峡市| 尉犁县| 绵竹市| 南靖县| 鲁山县| 东乌| 芒康县| 舞阳县| 库伦旗|