2、不用if len(somelist) == 0來檢查空值,而用if not somelist來檢查(它會假定:空值將自動評估為False)。
3、檢測是否為非空值時,用if somelist會默認把非空值判斷為True
4、引入模塊的時候,總是應該使用絕對名稱,而不應該根據(jù)當前模塊的路徑來使用相對名稱。例如,引入bar包中的foo模塊時,應該完整寫出from bar import foo。如果一定要用相對名稱來編寫import語句,那就采用明確的寫法:from.import foo。import語句按順序分三部分,分別代表標準庫模塊、第三方模塊及自用模塊,在每一部分中,各import語句應該按模塊的字母順序來排序。
5、實現(xiàn)接受str或unicode,并總返回unicode:
def to_unicode(unicode_or_str):
if isinstance(unicode_or_str,str):
value = unicode_or_str.decode('utf-8')
else:
value = unicode_or_str
return value
6、實現(xiàn)接受str或unicode,并總返回str
def to_str(unicode_or_str):
if isinstance(unicode_or_str,unicode):
value = unicode_or_str.encode('utf-8')
else:
value = unicode_or_str
return
7、用列表推導來取代map和fileter
8、合并pdf
import os
from PyPDF2 import PdfFileReader,PdfFileMerger
files_dir = 'e:\\pdf'
pdf_files = [f for f in os.listdir(files_dir) if f.endswith('pdf')]
merger = PdfFileMerger()
for filename in pdf_files:
merger.append(PdfFileReader(os.path.join(file_dir,filename),'rb'))
merger.write(os.path.join(files_dir,'merged_full.pdf'))
n = '123'
s = n.zfill(5)
print s
>>>
'00123'
n = '-123'
s = n.zfill(5)
print s
>>>
'-0123'
# 對于純數(shù)字,可以通過格式化的方式來補0
n = 123
s = '%05d' % n
print s
>>>
'00123'