python基礎面試題(1)

2021-09-24 14:37:45 字數 3229 閱讀 4009

一.基礎面試題

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