1. 程式人生 > 其它 >【Python學習筆記】----讓你的程式碼更pythonic

【Python學習筆記】----讓你的程式碼更pythonic

技術標籤:python

# -*- coding:UTF-8 -*-
# pythonic
"""# 對某個範圍進行迭代
for i in range(6):
    print (i**2)
# 生成器更加高效
for i in xrange(6):
    print (i**2)"""

# 迭代一個集合
colors = ['red','green','blue','yellow']
names = ['raymond', 'rachel', 'matthew']
"""for i in range(len(colors)):
    print colors[i]

for color in colors:
    print color

# 反向迭代
for i in range(len(colors)-1,-1,-1):
    print colors[i]

for color in reversed(colors):
    print color"""
"""# 帶下標的迭代 for i in range(len(colors)): print("%d ----> %s"%(i,colors[i])) for i,color in enumerate(colors): print ("%d ----> %s"%(i,color))""" """# 迭代兩個集合 n = min (len(names),len(colors)) for i in range(n): print names[i],'---->',colors[i] for name,color in zip(names,colors): print name,'---->',color for name,color in izip(names,colors): print name, '---->', color"""
"""# 以有序的方式進行迭代 for color in sorted (colors): print color for color in sorted(colors,reverse=True): print color""" # 多個出口的判斷for else """ def find(): for ...: if ...: break else: return ...(未break時執行) return ... """
# 對dict的key進行迭代,需要修改用第二種 d = {'matthew': 'blue', 'rachel': 'green', 'raymond': 'red'} """for k in d: print k for k in d.keys(): if k.startswith('r'): del d[k]""" """# 迭代字典 for k in d: print k, '--->', d[k] for k,v in d.items(): print k, '--->', v # 返回迭代器 for k, v in d.iteritems(): print k, '--->', v""" """# 對序列進行解包 p = 'Raymond', 'Hettinger', 0x30, '[email protected]' # A common approach / habit from other languages fname = p[0] lname = p[1] age = p[2] email = p[3] print fname,lname,age,email fname,lname,age,email = p print fname,lname,age,email""" # 迭代器 # 生成器 """def gensquares(N): for i in range(N): yield i ** 2 for item in gensquares(5): print item, def gensquares(N): res = [] for i in range(N): res.append(i*i) return res for item in gensquares(5): print item,""" # 裝飾器 """def decoratorNoparam(func): print("this is decoratorNoparam") def new(*args,**kwargs): func() print('new') return func(*args,**kwargs) print('decoratorNoparam') return new def func(): print("this is func function") func1 = decoratorNoparam(func) func1()""" """ this is decoratorNoparam decoratorNoparam this is func function new this is func function """ """ @decoratorNoparam def func(): print("this is func function") func() this is decoratorNoparam decoratorNoparam this is func function new this is func function """ # 上下文管理器,自動釋放描述符 """with context_expr as context_tmp: # 函式體""" """f = open("D:\codes\hello.txt","r") print(f.read()) print "是否已關閉 : ", f.closed f.close() print "是否已關閉 : ", f.closed""" """ with open("D:\codes\hello.txt","r") as fp: print "是否已關閉 : ", fp.closed print "是否已關閉 : ", fp.closed """