一.基礎面試題
1.**中要修改不可變資料會出現什麼問題,丟擲什麼異常?
答:**不能正常執行,會丟擲typeerror型別的錯誤
2.a=1,b=2 不使用中間變數互動a,b的值?
答:第一種方法:
a = a+b
b = a -b
a = a-b
第二中方法
a,b=b,a
第三種方法
a = a^ b
b = b ^ a
a = a ^ b
3.print呼叫了python中底層的什麼方法?
print方法預設呼叫了sys.stdout.write方法,即向控制台輸入字串
4.簡述對input()函式的理解?
python3中,呼叫input(),是獲取使用者輸入,不管使用者輸入的是什麼數字型別,都已字串來進行處理。
python2中有raw_input()和input(),其中raw_input()和python3中的用法一樣,而input()則是使用者輸入什麼型別就是什麼型別,如123就是int型別
5.zip()函式
a = [1,2,3]b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]
zip(a,c) # 元素個數與最短的列表一致[(1, 4), (2, 5), (3, 6)]
zip(*zipped) # 與 zip 相反,*zipped 可理解為解壓,返回二維矩陣式[(1, 2, 3), (4, 5, 6)]
6.python2中的range和xrange的區別
在python2中range返回值是乙個列表,而xrange返回值是乙個可迭代物件,range返回的列表會在記憶體中開闢乙個空間來儲存列表,而xrange邊用邊開闢空間,如果是乙個很長的列表考慮到效能問題那麼建議使用xrange
7.range()函式
range(start, stop[, step])
range(10) # 從 0 開始到 10[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11) # 從 1 開始到 11[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5) # 步長為 5[0, 5, 10, 15, 20, 25]
range(0, 10, 3) # 步長為 3[0, 3, 6, 9]
range(0, -10, -1) # 負數[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)
range(1, 0)
8.read,readline,和readlines的區別?
read:讀取整個檔案
readline:讀取下一行使用生成器的方法
readlines: 讀取整個檔案到迭代器中以提供我們遍歷
9.常用的python標準庫:
random隨機,time時間,os作業系統,pymysql連線mysql資料庫,pymongo連線mongodb資料庫,threading執行緒,multiprocessing程序,queue佇列
第三方庫:
flask,django,scrapy,celery,virtualenv,selenium,xadmin,requests,hashlib,md5
常用的科學計算庫:
numpy,scipy,pandas
10__init__和__new__的區別:
__init__會在建立物件後初始化物件,new__是在物件建立之前初始化乙個物件返回給__init
11.python中如何實現隨機數:
random.randint(a,b) 隨機生成乙個整數,並且該整數在a到b之間(a,b都可以取到)
random.random() 生成0-1之間的隨機浮點數
random.uniform(a,b) 隨機生成a到b之間的浮點數
random.randrange(a,b,step) 在指定的集合中,以step為基數隨機取乙個數
random.choice 從特定的序列中隨機取乙個元素,這個序列可以是字串,元組,列表。
12.輸入某年某月某日,判斷這天是這一年的第幾天(可以使用python的標準模組)
import datetime
defdayofyear()
:year =
int(
input
("請輸入年份:"))
mon =
int(
input
("請輸入月份:"))
day =
int(
input
("請輸入日期:"))
date1 = datetime.date(year=year,month=mon,day=day)
date2 = datetime.datet(year= year,month=
1,day=1)
days =
int(
(date1-date2)
.days)+1
return days
13.打亂乙個排列好的list物件alist:
import random
alist =[1
,2,3
]random.shuffle(alist)
#這個shuffle是改變原有的list物件的順序
os.path和sys.path分別代表什麼:
os.path:代表系統路徑檔案的操作
sys.path:只要是對python直譯器的系統環境引數的操作(動態的改變python直譯器的搜尋路徑)
後續還會更新整理!!!
JAVA基礎面試題(1)
1 所有的類都繼承於object類,其直接子類有boolean void character class compiler math number runtime stringbuffer stringbuilder system thread等等 其常用的方法有 tostring hashcode...
redis基礎面試題 1
2.redis 3.快取問題及解決方案 3.2 快取穿透 解決方案 3.3 快取擊穿 解決方案 對於互動的要求,曾經聽過一句話 在理想狀態下,我們的頁面跳轉需要在瞬間解決,對於頁內操作則需要在剎那間解決。另外,超過一彈指的耗時操作要有進度提示,並且可以隨時中止或取消,這樣才能給使用者最好的體驗。那麼...
基礎面試題總結1
介紹sass 定義變數css巢狀,允許在 中使用算式,支援if判斷以及for迴圈 link和 import的區別 link屬於html標籤,而 import是css提供的 頁面被載入時,link會同時被載入,而 import被引用的css會等到引用它的css檔案被載入完再載入 import只在ie5...