一、Q:如何用Python來進行查詢和替換一個文本字符串?
A:可以使用sub()方法來進行查詢和替換,sub方法的格式為: sub(replacement, string[, count=0])
replacement是被替換成的文本
string是需要被替換的文本
count是一個可選參數,指最大被替換的數量,示例:
# !/usr/bin/env python # -*- coding: utf-8 -*- import re p = 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和進行靜態的代碼分析?
A:PyChecker是一個python代碼的靜態分析工具,它可以幫助查找python代碼的bug, 會對代碼的復雜度和格式提出警告
? Pylint是另外一個工具可以進行coding standard檢查。
三、Q:如何用Python刪除一個文件?
A:
# !/usr/bin/env python # -*- coding: utf-8 -*- import os my_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 copyfile src = ' 源文件 ' 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 = 1 except : print ( ' error ' ) finally : return None
當我們進行try嵌套時,如果try嵌套,那么如果里面的try沒有捕獲到這個異常,那么外面的try會接收到這個異常,然后進行處理,如果外邊的try依然沒有捕獲到,那么再進行傳遞。。。如果一個異常是在一個函數中產生的,例如函數A---->函數B---->函數C,而異常是在函數C中產生的,那么如果函數C中沒有對這個異常進行處理,那么這個異常會傳遞到函數B中,如果函數B有異常處理那么就會按照函數B的處理方式進行執行;如果函數B也沒有異常處理,那么這個異常會繼續傳遞,以此類推。。。如果所有的函數都沒有處理,那么此時就會進行異常的默認處理,即通常見到的那樣
七、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不會建立新的對象,也就不會占用新的內存,而選擇+來拼接會產品新的內存空間。
九、Q:編寫一個代碼,用于計算文件中的所有大寫字母。
A:
# !/usr/bin/env python # -*- coding: utf-8 -*- import re def 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,也就是返回從后往前數,第一位,同理li[-2]會返回0
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
