python工程師面試寶典_2019年,Python工程師必考的6個面試題,Python面試題No5

第1題:Python里面如何實現tuple和list的轉換?

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

list轉為tuple:

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

將temp_list進行強制轉換:tuple(temp_list)

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

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

tuple 轉為list:

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

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

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

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

它們兩個都在re模塊中

match()函數是在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 "", line 1, in

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)

>>>

結論: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 和 == 的區別?

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

id 身份標識,就是在內存中的地址

完整的舉例

>>> 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標準操作符中的比較操作符,用來比較判斷兩個對象的value(值)是否相等

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

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

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

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

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

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

>>> a = 247

>>> b = 247

>>> print(a is b)

True

>>> a = 258

>>> b = 258

>>> print(a is b)

False

>>>

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

第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

python彩蛋

知道就知道了,不知道你現在已經知道了,搜索一下去吧

微信搜索:非本科程序員,關注吧

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535031.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535031.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535031.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

aop注解配置切點 spring_springboot aop 自定義注解方式實現一套完善的日志記錄

一&#xff1a;功能簡介本文主要記錄如何使用aop切面的方式來實現日志記錄功能。主要記錄的信息有: 操作人&#xff0c;方法名&#xff0c;參數&#xff0c;運行時間&#xff0c;操作類型(增刪改查)&#xff0c;詳細描述&#xff0c;返回值。二&#xff1a;項目結構圖如果想學習…

抽象類、接口的區別和相似點

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄&#xff0c;在這個系列專欄中我將記錄淺學這本書所得收獲&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波簡直就是血賺 &#x1f4a1;涉及的知識點速通&#x1f6eb; abs…

c標簽判斷true false jsp_Java學習知識點:小白如何掌握JSP技術?

今天千鋒廣州小編就給大家分享零基礎如何掌握JSP技術&#xff0c;下面一起來看看吧!一、Java初級開發之jsp概述1.關于jspJavaServer Pages簡稱jsp&#xff0c;從“server”這個詞可以看出&#xff0c;這其實也是一門java服務端技術&#xff0c;其實可以簡單的把jsp認為是servle…

python語言保留字的特點_python保留字及其說明

原博文 2019-07-14 22:05 ? 保留字 說 明 and 用于表達式運算&#xff0c;邏輯與操作 as 用于類型轉換 assert 斷言&#xff0c;用于判斷變量或條件表達式的值是否為真 break 中斷循環語句的執行 class 用于定義類 continue 繼續執行下一次循環 ...011647 相關推薦 2019-12-19…

使用Java操作Redis的兩種方式Jedis、RedisTemplate

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站黑馬的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&#…

python提取數據庫數據_Python如何讀取MySQL數據庫表數據

本文實例為大家分享了Python讀取MySQL數據庫表數據的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下 環境&#xff1a;Python 3.6 ,Window 64bit 目的&#xff1a;從MySQL數據庫讀取目標表數據&#xff0c;并處理 代碼&#xff1a; # -*- coding: utf-8 -*- import p…

【項目實戰】基于Redis實現短信驗證碼登錄 (附源碼、思路)

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站黑馬的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&#…

加工中心刻字宏程序_FANUC OI系列圖書——車床、銑床及加工中心編程

? 這是金屬加工(mw1950pub)發布的第10035篇文章導讀今天跟大家分享FANUC OI系列圖書&#xff0c;包括車床、銑床及加工中心編程&#xff0c;快來看看吧&#xff01;《FANUC 0i數控車床/加工中心編程技巧與實例》選擇在企業里應用*廣泛、編程*具代表性的日本FANUCSeries0i-TC/T…

Redis 的緩存策略

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站黑馬的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&#…

python顯示數據長度_python – 獲取CSV的長度以顯示進度

我正在處理大量CSV文件,每個文件都包含大量行.我的目標是逐行獲取數據并使用 Python將其寫入數據庫.但是,由于存在大量數據,我希望能夠跟蹤已寫入的數據量.為此,我計算了排隊的文件數量,并在每次文件完成時繼續添加一個文件. 我想為CSV文件做類似的事情并顯示我在哪一行,以及總…

關閉后天 樹莓派_陪你一起玩樹莓派-系統安裝

從今天就開始我們的樹莓派之旅&#xff0c;心情是不是有點小激動&#xff1f;我們拿到一個樹莓派是一個裸機。我們要準備一張16G的高速TF閃存卡&#xff0c;一個5V/2A的USB電源和一根micro B的 usb線。裝機步驟&#xff1a;一、下載樹莓派系統1、瀏覽器打開樹莓派官方網站 http…

簡單的簽到代碼_PHP實現一個小小的簽到功能,到底用MySQL還是Redis?

來源 | http://suo.im/5EWN3k今天&#xff0c;看下簽到功能怎么選擇&#xff1f;現在的網站和app開發中&#xff0c;簽到是一個很常見的功能&#xff0c;如微博簽到送積分&#xff0c;簽到排行榜~微博簽到如移動app &#xff0c;簽到送流量等活動&#xff0c;移動app簽到用戶簽…

【Redis 6】緩存穿透、緩存雪崩、緩存擊穿(附解決方案、代碼)

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的Redis 6專欄&#xff0c;在這個系列專欄中我對B站黑馬的Redis教程進行一個總結&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波依然是血賺 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知識點速覽&#…

8軟件遇到的問題及解決方法_Excel工作表中的8個常見問題,你一定遇到過,附解決方法...

在Excel工作表中&#xff0c;最常用的還是一些技巧&#xff0c;如果能夠熟練掌握&#xff0c;對于工作效率的提高絕對不是一點點哦&#xff0c;結合工作實際&#xff0c;小編對工作中常見的問題進行了總結&#xff0c;一共有8類&#xff0c;你一定也遇到過……一、Excel工作表常…

unity著色器和屏幕特效開發秘笈_Oculus研發分享:開發移動VR內容時應避免的PC渲染技術...

查看引用/信息源請點擊&#xff1a;映維網開發移動VR內容時應避免的PC渲染技術&#xff08;映維網 2019年11月25日&#xff09;有不少開發者都是以與PC相同的方式來開發Quest游戲&#xff0c;但這可能會導致優化性能方面出現大量困難。Oculus軟件工程師特雷弗達什&#xff08;T…

Java包裝類、java中的方法傳參機制:按值調用

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄&#xff0c;在這個系列專欄中我將記錄淺學這本書所得收獲&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波簡直就是血賺 &#x1f4a1;涉及的知識點速通&#x1f6eb; 方法…

尤克里里怎么樣_尤克里里和吉他區別?尤克里里與吉他相比有什么不可替代的優勢...

尤克里里和吉他有什么區別&#xff1f;想必大家都見過尤克里里吧&#xff0c;就是類似吉他形狀的一種小型弦撥樂器。我們可以簡單的認為&#xff1a;尤克里里是簡化版本的吉他&#xff0c;更加簡單&#xff0c;更加便宜。小編彈的就是尤克里里2.從外觀上&#xff1a;吉他很大&a…

餓漢懶漢單例設計模式的使用及區別、java中的import關鍵字

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄&#xff0c;在這個系列專欄中我將記錄淺學這本書所得收獲&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波簡直就是血賺 &#x1f4a1;涉及的知識點速通&#x1f6eb; 關于…

廣電運通不好進嗎_我可以說鄭州新風的安裝大部分都是垃圾嗎?

說鄭州的新風安裝都是垃圾&#xff0c;這話很無禮&#xff0c;很自大&#xff0c;很傲慢&#xff0c;但是我能說確實是這樣嘛&#xff1f;其實包括我以前安裝的也不合格——雖然我不是故意的。這幾年見過許多家同行安裝的新風&#xff0c;可以說目前見到的很多家都不合格&#…

Java迭代器和Collection接口

各位小伙伴們大家好&#xff0c;歡迎來到這個小扎扎的《Java核心技術 卷Ⅰ》筆記專欄&#xff0c;在這個系列專欄中我將記錄淺學這本書所得收獲&#xff0c;鑒于 看到就是學到、學到就是賺到 精神&#xff0c;這波簡直就是血賺 &#x1f4a1;涉及的知識點速通&#x1f6eb; 關于…