1. 程式人生 > >2.16

2.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