2.16
阿新 • • 發佈:2018-02-16
阻止 內存管理 關於 數字 返回 .html 找到 .net 處理異常
1.簡要描述GIL對Python性能的影響
#GIL本質就是一把互斥鎖,既然是互斥鎖,所有互斥鎖的本質都一樣,都是將並發運行變成串行, # 以此來控制同一時間內共享數據只能被一個任務所修改,進而保證數據安全。有了GIL的存在,同一時刻同一進程中只有一個線程被執行 #但是對於計算來說cpu越多越好,由於GPL的存在,我們無法利用多核優勢,對於計算來說GPL存在影響了一定的性能 #但是我們大多數情況下都是I/O比較多,對於I/O來說再多的CPU有沒有用,所以在I/O比較多的情況下,GPL對Python的性能影響較小
2.Python斐波那契數列1,2,3,5,8,13,21......根據這樣的規律,編程求出400萬以內的最大斐波那契數列?
def fib_n(n): a, b = 0, 1 result = [] for i in range(n): result.append(b) a, b = b, a+b return result res=fib_n(40000000) print(res)
3.要求一段代碼,實現兩個字典相加,不同的key對應的值保留,相同的key對應的值相加後保留,如果是字符串就拼接
a={‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4,‘f‘:‘hello‘} b={‘b‘:3,‘d‘:5,‘e‘:7,‘m‘:8,‘m‘:‘word‘} #要求一段代碼,實現兩個字典相加,不同的key對應的值保留,相同的key對應的值相加後保留,如果是字符串就拼接for k in a: if k in b: b[k]=a[k]+b[k] else: b[k]=a[k] print(b)
4.從輸入一個url到展示頁面經歷了什麽
1、輸入地址 2、瀏覽器查找域名的 IP 地址 3、瀏覽器向 web 服務器發送一個 HTTP 請求 4、服務器的永久重定向響應 5、瀏覽器跟蹤重定向地址 6、服務器處理請求 7、服務器返回一個 HTTP 響應 8、瀏覽器顯示 HTML 9、瀏覽器發送請求獲取嵌入在 HTML 中的資源(如圖片、音頻、視頻、CSS、JS等等)
5.http狀態碼有什麽用,列出 你知道的狀態碼,然後都講出他們表示什麽意思?
http://tool.oschina.net/commons?type=5
6.python主要數據類型有哪些,那些是可變的,那些是不可變的?
#數字 不可變類型 #字符串 不可變類型 #列表 可變類型 #元祖 不可變類型 #字典 可變類型 #集合 可變類型
7.什麽是可變數據類型,什麽是不可變數據類型?
可變類型:在id不變的情況下,value可以變
#在Python中如何拋出,捕獲、處理異常
可變類型:value一旦改變,id也改變,則稱為不可變類型(id變,意味著創建了新的內存空間)
8.在Python中如何拋出,捕獲、處理異常
#raise關鍵字:手動拋出一個通用的異常類型(Exception) #捕獲異常try..except..else
9.詳細說說list,tuple,dict,的用法,特點
#1.list,有序 可變數據類型 # 切片, # 追加 append, # 刪除 pop , remove , # 長度 len, # 包含 in, # 插入 insert # 列表鏈接 extend # 清空 clear # 賦值 copy # 倒置 reverse #tuple 不可變數據類型 可做字典的key 有序 #方法和list差不多 #字典 無序 可變數據類型 #取 dic[‘a‘]=aa get #pop:key存在則彈出值,不存在則返回默認值,如果沒有默認值則報錯 #刪除 pop() popitem() ## print(info_dic.keys()) # print(info_dic.values()) # print(info_dic.items()) #長度 len #包含 in #update 有就更新 沒有就添加 #setdefault:key不存在則設置默認值,並且放回值默認值 #fromkeys # d=info_dic.fromkeys((‘name‘,‘age‘,‘sex‘),None) # print(d) # d1=dict.fromkeys((‘name‘,‘age‘,‘sex‘),None) # d2=dict.fromkeys((‘name‘,‘age‘,‘sex‘),(‘egon‘,18,‘male‘)) # print(d1) # print(d2)
10.python是如何進行內存管理的?
https://www.cnblogs.com/wangyuhangboke/p/7802253.html
python內部使用引用計數,來保持追蹤內存中的對象,Python內部記錄了對象有多少個引用,即引用計數,當對象被創建時就創建了一個引用計數,當對象不再需要時,這個對象的引用計數為0時,它被垃圾回收。
11.python的程序會內存泄露嗎?說一說怎麽方面阻止或檢測內存泄露?
http://www.jb51.net/article/64745.htm
12 關於Python程序的運行性能方面,有什麽手段能提升性能?
#1.讓關鍵代碼依賴於外部包 #2.排序時使用鍵(key) #3.優化循環 #4.使用較新版本的Python #5.嘗試多種編碼方法 #6.交叉編譯應用程序
http://www.jb51.net/article/63166.htm
13.簡單實現一個stack
#堆棧:先進後出,後進先出 # l=[] # #入棧 # l.append(‘first‘) # l.append(‘second‘) # l.append(‘third‘) # #出棧 # print(l) # print(l.pop()) # print(l.pop()) # print(l.pop())
14.輸入某年某月某日判斷這一天是這一年的第幾天
year=int(input(‘請輸入年:‘)) month=int(input(‘請輸入月:‘)) day=int(input(‘請輸入天:‘)) sum=day days = [31,28,31,30,31,30,31,31,30,31,30,31] i=0 if ( year%4 == 0 and year%100 != 0) or (year%400 == 0): days[1] = 29 while i< month-1: sum=sum+days[i] i+=1 print(‘這一天是該年的第‘,sum,‘天‘)
15.如何刪除一個list中的元素,如何刪除dict中的一對kv
a=[1,2,3,4,5] # a.pop(1) # print(a) # a.remove(3) # print(a)
d={‘a‘:1,‘b‘:2,‘c‘:3} print(d.popitem()) print(d)
16.如何查找字符串中的特定字符?Find()和index有什麽不同?
s=‘dssadughsgg‘ #print(s.find(‘e‘))#-1 #find 找到查找字符的位置,找不到就返回-1 print(s.index(‘v‘))#找不到就報錯
17.Python常用的第三方庫
http://blog.csdn.net/qq_33610643/article/details/53444130
2.16