python基础面试题整理---从零开始 每天十题(04)
一、Q:如何用Python來進行查詢和替換一個文本字符串?
A:可以使用sub()方法來進行查詢和替換,sub方法的格式為:sub(replacement, string[, count=0])
replacement是被替換成的文本
string是需要被替換的文本
count是一個可選參數(shù),指最大被替換的數(shù)量,示例:
#!/usr/bin/env python # -*- coding: utf-8 -*-import rep = re.compile('(blue|white|red)') print(p.sub('colour', 'blue socks and red shoes')) print(p.sub('colour', 'blue socks and red shoes', count=1))二、Q:有沒有一個工具可以幫助查找python的bug和進行靜態(tài)的代碼分析?
A:PyChecker是一個python代碼的靜態(tài)分析工具,它可以幫助查找python代碼的bug, 會對代碼的復雜度和格式提出警告
? Pylint是另外一個工具可以進行coding standard檢查。
三、Q:如何用Python刪除一個文件?
A:
#!/usr/bin/env python # -*- coding: utf-8 -*-import osmy_file = 'D:/text.txt' # 文件路徑 if os.path.exists(my_file): # 如果文件存在# 刪除文件,可使用以下兩種方法。os.remove(my_file) # 則刪除# os.unlink(my_file) else:print('no such file:%s' % my_file)四、Q:Python如何copy一個文件?
A:
#!/usr/bin/env python # -*- coding: utf-8 -*-from shutil import copyfilesrc = '源文件' dst = '目標文件' copyfile(src, dst) # src:源文件 dst:目標文件五、Q:python代碼得到列表list的交集與差集
A:交集
a = [2, 3, 4, 5] b = [2, 5, 8] print(list(set(a).intersection(set(b))))? 差集
#!/usr/bin/env python # -*- coding: utf-8 -*- a = [2, 3, 4, 5] b = [2, 5, 8] print(list(set(a).difference(set(b)))) # a包含,b卻不包含的六、Q:python如何捕獲異常
A:
#!/usr/bin/env python # -*- coding: utf-8 -*-def main():try:a = 1except:print('error')finally:return None當我們進行try嵌套時,如果try嵌套,那么如果里面的try沒有捕獲到這個異常,那么外面的try會接收到這個異常,然后進行處理,如果外邊的try依然沒有捕獲到,那么再進行傳遞。。。如果一個異常是在一個函數(shù)中產(chǎn)生的,例如函數(shù)A---->函數(shù)B---->函數(shù)C,而異常是在函數(shù)C中產(chǎn)生的,那么如果函數(shù)C中沒有對這個異常進行處理,那么這個異常會傳遞到函數(shù)B中,如果函數(shù)B有異常處理那么就會按照函數(shù)B的處理方式進行執(zhí)行;如果函數(shù)B也沒有異常處理,那么這個異常會繼續(xù)傳遞,以此類推。。。如果所有的函數(shù)都沒有處理,那么此時就會進行異常的默認處理,即通常見到的那樣
七、Q:假設有如下兩個 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],將 a 中的元素作為 key,b 中元素作為 value,將 a,b 合并為字典。
A:
#!/usr/bin/env python # -*- coding: utf-8 -*-def main():a = ['a', 'b', 'c', 'd', 'e']b = [1, 2, 3, 4, 5]dic = dict(map(lambda x, y: [x, y], a, b))print(dic)for k, v in dic.items():print(k)print(v)main()八、Q:[1,2,3]+[4,5,6]的結果是多少?
A:[1,2,3,4,5,6],和extend結果一樣,extend不會建立新的對象,也就不會占用新的內存,而選擇+來拼接會產(chǎn)品新的內存空間。
九、Q:編寫一個代碼,用于計算文件中的所有大寫字母。
A:
#!/usr/bin/env python # -*- coding: utf-8 -*- import redef main(str):len_capital = len(re.compile(r'[A-Z]').findall(str))print('大寫字母有%s個' % len_capital)str = "ABCaaaaABaCaaaABC" main(str)十、Q:如果li是[4,6,8,1,0,3],li[-1]會是什么?
A:會返回3,也就是返回從后往前數(shù),第一位,同理li[-2]會返回0
轉載于:https://www.cnblogs.com/cxiaocai/p/11026052.html
總結
以上是生活随笔為你收集整理的python基础面试题整理---从零开始 每天十题(04)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术团队塑造
- 下一篇: 简单的python爬虫实例