- Python中基本數據結構的操作
|
元組 |
列表 |
字典 |
集合 |
定義 |
|
|
|
|
新增 |
|
|
|
|
更改 |
|
|
|
|
刪除 |
|
|
|
|
2.請盡可能列舉python列表的成員方法,並給出一下列表操作的答案:
(1)a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?

(1)1 3 5
(2)4 5
(2) 一行代碼實現對列表a中的偶數位置的元素進行加3后求和?

sums = sum(map(lambda x: x + 3, a[1::2]))
3.List = [-2, 1, 3, -6],如何實現以絕對值大小從小到大將 List 中內容排序。

sorted(list1,key = abs)
(1) 列表的sort方法和 sorted的區別是什么?

sort 是list的方法,改變list對象的順序,返回值為None
sorted是Python的內置方法,適用iterable對象,返回值是新列表,不影響原來的iterable的順序
4.有一篇英文文章保存在 a.txt 中,請用python實現統計這篇文章內每個單詞的出現頻率,並返回出現頻率最高的前10個單詞及其出現次數(只考慮空格,標點符號可忽略)

from collections import Counter c = Counter() with open('a.txt','r',encoding='utf-8') as f: for line in f.readlines(): words = line.split() c1 = Counter(words) c.update(c1)
(1)追加需求:引號內元素需要算作一個單詞,如何實現?

以"分割,轉換成列表,取其奇數分割,其偶數不做處理
5.Python函數中經常有 *args,**kwargs 這兩個參數,它們是什么意思,為什么要使用它們?

太簡單,就不寫啦,哈哈哈哈
6.Python中的變量作用域(變量查找順序)。

LEGB
local 局部變量--->enclosed 閉包作用域 ----> Global 全局---->built-in變量
7.下面這段代碼的輸出結果將是什么?請解釋。

# 1 1 1 繼承自父類的類屬性x,所以都一樣,指向同一塊內存地址 # 1 2 1 更改Child1,Child1的x指向了新的內存地址 # 3 2 3 更改Parent,Parent的x指向了新的內存地址
8.描述Python GIL的概念, 以及它對python多線程的影響?編寫一個多線程抓取網頁的程序,並闡明多線程抓取程序是否可比單線程性能有提升,並解釋原因。
Guido的聲明:http://www.artima.com/forums/flat.jsp?forum=106&thread=214235

he language doesn't require the GIL -- it's only the CPython virtual machine that has historically been unable to shed it. Python語言和GIL沒有半毛錢關系。僅僅是由於歷史原因在Cpython虛擬機(解釋器),難以移除GIL。 GIL:全局解釋器鎖。每個線程在執行的過程都需要先獲取GIL,保證同一時刻只有一個線程可以執行字節碼。 線程釋放GIL鎖的情況: 在IO操作等可能會引起阻塞的system call之前,可以暫時釋放GIL,但在執行完畢后,必須重新獲取GIL Python 3.x使用計時器(執行時間達到閾值后,當前線程釋放GIL)或Python 2.x,tickets計數達到100 Python使用多進程是可以利用多核的CPU資源的。 多線程爬取比單線程性能有提升,因為遇到IO阻塞會自動釋放GIL鎖
9.Python中如何動態獲取和設置對象的屬性。

if hasattr(Parent,'x'): print(getattr(Parent,'x')) setattr(Parent,'x',3) print(getattr(Parent,'x'))
10.(前端基礎)
(1) 用CSS如何隱藏一個元素

dispaly:none
(2) 一行CSS實現padding上下左右分別為 1px,2px,3px,4px

padding:1 4 2 3
(3) JavaScript(或jQuery)如何選擇一個id為main的容器

$('#main')
(4) JavaScript(或jQuery)如何選擇一個class為menu的容器

$('.menu')