python怎么判斷字符串含有數(shù)字 python程序員二面一般問什么?
python程序員二面一般問什么?python程序員二面一般問以下幾個問題:1: Python 列表、元組、字典的區(qū)別?這個問題應(yīng)該經(jīng)常被問到,我們在這里詳細(xì)做個解釋。列表(List),Python的
python程序員二面一般問什么?
python程序員二面一般問以下幾個問題:
1: Python 列表、元組、字典的區(qū)別?
這個問題應(yīng)該經(jīng)常被問到,我們在這里詳細(xì)做個解釋。
列表(List),Python的列表實(shí)際上是一個動態(tài)數(shù)組,存儲在一個連續(xù)的內(nèi)存區(qū)塊中,隨機(jī)存取的復(fù)雜度是O(1),插入和刪除元素時會造成內(nèi)存塊的移動,時間復(fù)雜度是O(n)。同時它是一個可變對象,當(dāng)我們對列表進(jìn)行賦值時獲取到的只是它的內(nèi)存地址,如果需要將列表里的內(nèi)容全部復(fù)制給另一個變量,需要用到copy(淺拷貝)和deepcopy(深度拷貝)。
元組(Tuple),Python的元組是一個不可變的數(shù)據(jù)結(jié)構(gòu),它本質(zhì)上也是一個數(shù)組。因?yàn)槭遣豢勺儗ο?,所以Tuple的長度在創(chuàng)建時就是恒定的,所以我們也無法對它進(jìn)行添加和刪除元素的操作。不過在Tuple內(nèi)所包含的對象是可變的。當(dāng)我們把包含元組的變量賦值給另一個變量時,實(shí)際上是在內(nèi)存中重新申請了一塊內(nèi)存空間用于新建了一個元組。
字典(Dict),Python的字典是一個哈希表,根據(jù)鍵值對(Key,Value)直接訪問的數(shù)據(jù)結(jié)構(gòu)。關(guān)于哈希函數(shù)在這里不多做解析,大家可以自行了解。如果字典在產(chǎn)生哈希時,也就是Key遇到重復(fù)的時候。Python會通過開放定址法來計算下一個候選位置,反復(fù)測試最終保證生成的哈希值不會產(chǎn)生。字典跟列表一樣,也是可變對象,復(fù)制內(nèi)容同樣需要用到copy(淺拷貝)和deepcopy(深度拷貝)。
2: 如何將一個字符串或者數(shù)字倒序輸出?
字符串倒序,我們可以利用Python的切片對字符串進(jìn)行倒序,參考如下代碼:
str1 #34長風(fēng)幾萬里,吹度玉門關(guān)#34print(str1[::-1])
切片的參數(shù)格式: [start_ind: stop_ind: st::-1])# 負(fù)整數(shù)的情況numb::-1]))
3: 談一下Python的內(nèi)存管理機(jī)制
Python內(nèi)建了垃圾回收處理機(jī)制,引用計數(shù)是這個機(jī)制的一部分。
在Pyhton源碼中,實(shí)際上是用 Py_INCREF(op) 和 Py_DECREF(op) 這兩個宏來增加和減少引用計數(shù)。
當(dāng)一個對象被創(chuàng)建、被賦值、被參數(shù)傳遞,函數(shù)返回之前的時候,它的引用計數(shù)值(ob_refcnt)都可能會被加1(INC),一直進(jìn)行累加。
當(dāng)對象變量失去作用域的時候,引用計數(shù)的值會減1(DEC)。
當(dāng)一個對象的引用計數(shù)減少到0之后(ob_refcnt為0),Py_DECR: 什么是Session、Cookie、Token?
Session是一個概念,信息存儲在服務(wù)端。
Cookie是對Session的一種實(shí)現(xiàn),并信息存儲在客戶端(瀏覽器)。
因?yàn)镠TTP協(xié)議無狀態(tài)的特性,以至于我們需要在瀏覽器和服務(wù)端之間建立一個用于識別用戶身份和詳細(xì)信息的憑證,這個憑證可以是Cookie、Token任意一種。
當(dāng)用戶登陸成功時,我們可以將其的身份憑證在服務(wù)端生成一個Session信息,保存在文件,數(shù)據(jù)庫或者內(nèi)存里,通常Session會有一個Session id。
因?yàn)樵L問服務(wù)端Session 信息需要用到Session id,所以通常情況下,我們將Session id存在Cookie里。
Cookie其實(shí)信息在用戶登陸產(chǎn)生Session信息之后再將Session id或者別的附加信息返回給客戶端,由客戶端存儲在本地文件里。
當(dāng)瀏覽器向服務(wù)端發(fā)起請求時會帶著Cookie里的Session id訪問服務(wù)端,服務(wù)端根據(jù)Session id找到存儲好的Session信息,如果信息能找到并且內(nèi)容無誤,即視為訪問有效。
Cookie除了存儲Session id外也可以存儲其他非敏感的信息(例如用戶昵稱,頭像等),提供給瀏覽器直接使用,而不用每次都從服務(wù)端去拿。
關(guān)于Token,實(shí)際上用在基于RESTAPI相關(guān)的服務(wù)里比較多。
它的認(rèn)證機(jī)制是當(dāng)用戶登陸后服務(wù)端算出一個Token信息存儲在服務(wù)端并返回給客戶端,內(nèi)容通常包含 用戶id,當(dāng)前時間戳,簽名和其他信息。
Token在客戶端一般存放于localStorage、cooki
python判斷一個字母是否為小寫字母?
判斷字符串是否全為小寫():
1.方法()用來判斷字符串是否全由小寫字母組成。如果字符串全由小寫字母組成,返回結(jié)果True。
2.如果字符串由小寫 大寫字母組成,返回結(jié)果False。如果字符串含有除字母外的字符作文,返回結(jié)果假。