1.一行**實現1-100的和
print(sum(range(1,101)))
#range中的引數是1<=i<101
#sum是計算引數的和
2.在函式內部改變全域性變數
a = 5
def foo1():
global a
a = 4
foo1()
print(a)
3.列出5個python標準庫
time,獲取時間戳,時間等。
os獲取系統資訊,如目錄,pid。
subprocess,與linux shell互動
re,正規表示式,如match,findall,search
sys,獲取程式的引數,路徑,退出訊息等
psutil,獲取系統執行狀態,如cpu,mem,disk,net。
4.如何刪除字典中的元素,如何更新元素的值,如何合併兩個字典
dicta =
del dicta['age'] #刪除乙個鍵值對
dicta['name'] = 'eric' #改變乙個key的value
tel =
dicta.update(tel) #將tel字典合併到dicta字典
print(dicta)
5 如何刪除列表中的元素,如何將刪除的元素賦值給變數,如何在列表頭部插入元素,如何在列表尾部插入元素
lista = [1,2,3]
del lista[0] #刪除index=0的元素
num = lista.pop(-1) #將index為-1的元素彈出,賦值給num
lista.insert(0,1) #在index為0的位置插入元素1
6 fun(*args,**kwargs)中的*args,**kwargs什麼意思?
*args 傳遞多個值時使用
**kwargs 傳遞多組關鍵字時使用,比如django中的model定義,可能會有多組關鍵字,後面的函式就會用它作為形參
7 什麼樣的語言能使用裝飾器?
函式能作為引數傳遞的語言
8 物件導向中__new__和__init__的區別
init是初始化方法,物件建立後,就被呼叫,並且可以接受引數。
9 簡述with方法開啟處理檔案幫我我們做了什麼?
f = open('admin.py','r')
try:
str = f.read()
print(str)
except:
pass
finally:
f.close()
#這樣開啟檔案,需要處理異常,還要在finally裡關閉檔案
#with中會自己close,也可以處理異常
10.列表[1,2,3,4,5],請使用map()函式輸出[1,4,9,16,25],並使用列表推導式提取出大於10的數,最終輸出[16,25]
lista = [1,2,3,4,5]
def fn(i):
return i*i
listb = map(fn,lista)
listc = [i for i in listb if i > 10]
print(listc)
#map()是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的object並返回。(python2返回列表,python3返回迭代物件)
#[i for i in listb if i > 10]為列表推導式,把listb中大於10的元素給listc
11 解釋 python 中的三元表示式
根據乙個表示式判斷,x的值是什麼。
a = 1
b = 2
x = a if a > b else b
12 python如何實現多執行緒
13 join()和split的區別
join是把乙個字串的字典組成成乙個字串,用確定的分隔符。
split是把乙個字串按特定分隔符轉化成乙個列表
13 如何刪除字串中的前置空格,或者最後的/字元。
前置 lstrip(' ') 後置 rstrip('/')
14 改字母大小寫,查字母大小寫
str.lower 改小寫
str.upper 改大寫
str.islower 判斷是否小寫,字串需要全部小寫
str.ipupper 判斷是否大寫,字串需要全部大寫
答:要把bytes型別解碼為str型別的時候,ascii碼不能解碼,因為這個bytes不是由ascii碼編碼的,可以換乙個試試,像utf-8,gbk。
正規表示式
python裡match()和search()的區別
import re
sql = 'select * from table'
match_sql = re.match('from',sql)
print(match_sql)
search_sql = re.search('from',sql)
print(search_sql.span())
none
(9, 13)
#match()函式只檢測re是不是在string的開始位置匹配,search()會掃瞄整個string查詢匹配;
#span()用於給出匹配字元範圍
寫乙個方法,輸入乙個檔名和乙個字串,統計這個字串在這個檔案**現的次數。
#輸入檔名和匹配字串,返回出現次數
def countof(file_name,str):
with open(file_name,'r') as file_obj:
parse = file_obj.read()
count = len(re.findall(str,parse))
return count
列表字典字元處理
python如何實現tuple和list的轉換
t = (1,2,3)
l = [2,3,4]
print(list(t))
print(tuple(l))
寫一段python**,刪除列表裡的重複元素(刪除字串裡的重複字元)
list1 = [1,2,3,4,2,3,4]
s1 = set(list1)
print(s1)
str1 = 'google'
s2 = set(str1)
print(s2)
#set函式將list或str裡的重複項刪除,並返回乙個無序字典
上下文管理
設計乙個類foo,使其滿足以下**輸出
python部落格園 python 模擬部落格園系統
作業 用 模擬系統。專案分析 一 首先程式啟動,頁面顯示下面5內容供使用者選擇 1.請登入 2.請註冊 3.進入文章頁面 5.進入日記頁面 6.進入收藏頁面 7.登出賬號 8.退出整個程式 二 必須實現的功能 1.註冊功能要求 a.使用者名稱 密碼要記錄在檔案中。b.使用者名稱要求 只能含有字母或者...
部落格園一道面試題的解法
今天出了一道面試題,我也解了一下,php解決方案如下 大廳裡有100盞燈,每盞燈都編了號碼,分別為1 100。每盞燈由乙個開關來控制。開關按一下,燈亮,再按一下燈滅。開關的編號與被控制的燈相同。開始時,燈是全滅的。現在按照以下規則按動開關。第一次,將所有的燈點亮。第二次,將所有2的倍數的開關按一下。...
關於在部落格園慢慢更新面試題的想法
已經入職一周多了,慢慢地要開始適應工作的節奏 在自己自學的過程中,走了不少彎路,也遇到了不少困難,儘管到最後都能順利解決,但其中的努力還是付出了很多的。偶爾還會想起自學時顛倒的生活節奏,白天睡覺,晚上起床學習,樂此不疲。從開始面試以來,總共面試了10家左右,也有幾家中型公司,從通過率來看,還是不錯的...