-
Python面試真題-解釋一下python的and-or語法?
【Python面試真題】-解釋一下Python的and-or語法? 與C表達式 bool ? a : b類似,但是bool and a or b,當 a 為假時,不會象C表達式 bool ? a : b 一樣工作應該將 and-or 技巧封裝成一個函數: def choose(bool, a, b): return (bool and [a] or [b])[0] 因為 [a] 是一個非空列表,它永遠不會為假。甚至 a 是 0 或 '' 或其它假值,列表[a]為真,因為它有一個元素。
-
Python面試真題-介紹一下Python中webbrowser的用法?
【Python面試真題】-介紹一下Python中webbrowser的用法? webbrowser模塊提供了一個高級接口來顯示基于Web的文檔,大部分情況下只需要簡單的調用open()方法。webbrowser定義了如下的異常:exception webbrowser.Error, 當瀏覽器控件發生錯誤是會拋出這個異常webbrowser有以下方法:webbrowser.open(url[, new=0[, autoraise=1]])這個方法是在默認的瀏覽器中顯示url, 如果new = 0,…
-
Python面試真題-什么是lambda函數?它有什么好處?
【Python面試真題】-什么是lambda函數?它有什么好處? ? ? ? lambda 函數是一個可以接收任意多個參數(包括可選參數)并且返回單個表達式值的函數。 lambda 函數不能包含命令,它們所包含的表達式不能超過一個。不要試圖向lambda 函數中塞入太多的東西;如果你需要更復雜的東西,應該定義一個普通函數,然后想讓它多長就多長。
-
Python面試真題-Python是如何進行內存管理的?
? ? ? Python引用了一個內存池(memory pool)機制,即Pymalloc機制(malloc:n.分配內存),用于管理對小塊內存的申請和釋放內存池(memory pool)的概念:當創建大量消耗小內存的對象時,頻繁調用new/malloc會導致大量的內存碎片,致使效率降低。內存池的概念就是? ?預先在內存中申請一定數量的,大小相等 的內存塊留作備用,當有新的內存需求時,就先從內存池中分配內存給這個需求,不夠了之后再申請新的內存。這樣做最顯著的優勢就是能夠減少內存碎片,提升效率。內…
-
Python面試真題-python多線程與多進程的區別
Python多線程與多進程的區別 ? ? ? 在UNIX平臺上,當某個進程終結之后,該進程需要被其父進程調用wait,否則進程成為僵尸進程(Zombie)。所以,有必要對每個Process對象調用join()方法 (實際上等同于wait)。對于多線程來說,由于只有一個進程,所以不存在此必要性。 ? ? ? 多進程應該避免共享資源。在多線程中,我們可以比較容易地共享資源,比如使用全局變量或者傳遞參數。在多進程情況下,由于每個進程有自己獨立的內存空間,以上方法并不合適。此時我們可以通過共享內存和M…
-
append【每日一個知識點第382期-Python】
append append方法用于在列表末尾追加新的對象: >>> lst = [1, 2, 3]>>> lst.append(4)>>> lst[1, 2, 3, 4]append方法和其他一些方法類似,只是在恰當位置修改原來的列表。這意味著,它不是簡單地返回一個修改過的新列表——而是直接修改原來的列表。
-
兩種創建方式【每日一個知識點第380期-Python】
(1) 直接賦值 s?=?"abcdef" (2) 通過str()函數 str()函數的作用,相當于是通過傳入的參數,生成一個string型的對象,這個傳入的參數可能是整型,浮點型,也能是列表,元組,字典等。 s?=?str(21)?#?>>>?"21" s?=?str(12.3)?#?>>>?"12.3" s?=?str([1,?2,?3])?#?>>>?"[1,?2,?3]" 需要注意的是,“傳入的是什么,得到的就是什么”比如我們傳一個列…
-
if 語句【每日一個知識點第378期-Python】
if 語句也許最有名的是 if 語句。例如: >>> x = int(input("Please enter an integer: "))Please enter an integer: 42>>> if x < 0:... x = 0... print('Negative changed to zero')... elif x == 0:... print('Zero')... elif x == 1:... print('Single')... e…
-
列表方法【每日一個知識點第376期-Python】
列表方法 方法是一個與某些對象有緊密聯系的函數。一般,方法可以這樣進行調用: 對象.方法(參數) 除了對象被放置到方法名之前,并且兩者之間用一個點號隔開。 1. append append方法用于在列表末尾追加新的對象: >>> lst = [1, 2, 3]>>> lst.append(4)>>> lst[1, 2, 3, 4]append方法和其他一些方法類似,只是在恰當位置修改原來的列表。這意味著,它不是簡單地返回一個修改過的新列表——…
-
分片賦值【每日一個知識點第374期-Python】
分片賦值 >>>?name?=?list(‘Perl’) >>>?name [‘P’,?‘e’,?‘r’,?‘l’] >>>?name[2:]?=?list(‘ar’) >>>?name [‘P’,?‘e’,?‘a’,?‘r’]