2012-10-15 09:55  
======================
======================
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- 1. zip((1,2,3),(7,8) ==> [(1,7),(2,8)]; zip(list/tuple, list/tuple, ...); no (3,-)
 2. enumerate([7,8,9]) ==> {(0,7),(1,8),(2,9)}; enumerate(list | tuple | set | range)
 3. @myDecorator : to change the following decorated function for probing
 3a. myDecorator can be a class or function
 3b. if class, class myDecorator(object):
 def __init__(self,f): self.f = f;
 def __call__(self): ...self.f()...;
 3c. if function, def myDecorator(f): def new_f():...f()...; return new_f;
 3d. @A; def f():pass; ==> f=A(f);
 3d2. def myDecorator(f):
 # def new_f(*args, **kwargs): return f(*args, **kwargs);
 def new_f(*args): return f(*args);
 return new_f;
 3e. @A(args); def f():pass; ==> _deco=A(args); f=_deco(f);
 3e1. @A(args); def f():pass; ==> f=A(args)(f)
 3e2. def myDecorator(arg1, arg2):
 def _deco(f): def new_f(*args): return f(*args); return _deco;
 3g. ATTENTION, decoration will execute function myDecorator(), or method myDecorator.__init__()
 4. yield vs return :
 yield : pause the function, and return a value; next() to resume
 return : stop the function, and return a value
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- 1. the function needs to be defined before invocation; unless invoked by another function. 
 2. __doc__ can be set for a module/file, class, function; it locates at the first line, not counting the comments.
 3. "\" for unfinished line
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- To get all numbers into one-level list
 x=[]; temp2=[x.extend(list(data2[y][3:9])) for y in range(len(data2))]
 To get all 3rd numbers in one-level list
 x=[data2[y][3] for y into range(len(data2))]
 for x,y,z in ((1,2,3),(4,5,6)): print x,y,z
 for x,(y,z) in [(1,2,3),(4,5,6)]: print x,y,z;
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- UNKNOWN.....
 try: func();
 except errorMessage:
 except:
 else:
 ...
 def func(): ...raise errorFunc(string);...;
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- - power of "for" in making a list
 [''.join(perm) for i in range(1, len(s)) for perm in it.permutations(s, i)]
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- print "[%i, %i, %i]" % tuple(numberList)
 print "[%s, %s, %s]" % (1, 2, 3)
 print "[{0}, {1}, {2}]".format(1, 2, 3)
 print "[{one}, {two}, {three}]".format(three=3, two=2, one=1)
 print "[%(one)i, %(two)i, %(three)i]" % {'three':3,'two':2,'one':1}
 print('[{},{},{}]'.format(1,2,3))
 print "%s, %s number %d" % (vfoo, vbar, vbaz)
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- "First, thou shalt count to {0}" # References first positional argument
 "Bring me a {}" # Implicitly references the first positional argument
 "From {} to {}" # Same as "From {0} to {1}"
 "My quest is {name}" # References keyword argument 'name'
 "Weight in tons {0.weight}" # 'weight' attribute of first positional arg
 "Units destroyed: {players[0]}" # First element of keyword argument 'players'.
 "Harold's a clever {0!s}" # Calls str() on the argument first
 "Bring out the holy {name!r}" # Calls repr() on the argument first
 >>> '{2}, {1}, {0}'.format('a', 'b', 'c')
 'c, b, a'
 >>> '{2}, {1}, {0}'.format(*'abc') # unpacking argument sequence
 'c, b, a'
 >>> coord = (3, 5)
 >>> 'X: {0[0]}; Y: {0[1]}'.format(coord)
 'X: 3; Y: 5'
 >>> '{:<30}'.format('left aligned')
 'left aligned '
 >>> '{:>30}'.format('right aligned')
 ' right aligned'
 >>> '{:^30}'.format('centered')
 ' centered '
 >>> '{:*^30}'.format('centered') # use '*' as a fill char
 '***********centered***********'
 >>> '{:+f}; {:+f}'.format(3.14, -3.14) # show it always
 '+3.140000; -3.140000'
 >>> '{: f}; {: f}'.format(3.14, -3.14) # show a space for positive numbers
 ' 3.140000; -3.140000'
 >>> '{:-f}; {:-f}'.format(3.14, -3.14) # show only the minus -- same as '{:f}; {:f}'
 '3.140000; -3.140000'
 >>> # format also supports binary numbers
 >>> "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
 'int: 42; hex: 2a; oct: 52; bin: 101010'
 >>> # with 0x, 0o, or 0b as prefix:
 >>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42)
 'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'
 >>> '{:,}'.format(1234567890)
 '1,234,567,890'
 >>> 'Correct answers: {:.2%}'.format(0.8864)
 'Correct answers: 88.64%'
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- >>> import datetime
 >>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)
 >>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
 '2010-07-04 12:15:58'
 '{0:{fill}{align}16}'.format(text, fill=valign, align=valign)
 '{:02X}{:02X}{:02X}{:02X}'.format(*octets)
 print '{0:{width}{base}}'.format(num, base=vbase, width=vwidth)
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- >>> a = lambda: "{} World".format("Hello")
 >>> b = lambda: "Hello" + " World"
 >>> c = lambda: "%s World" % "Hello"
 >>> d = lambda: "".join(("Hello", " World"))
 >>> a(), b(), c(), d()
 ('Hello World', 'Hello World', 'Hello World', 'Hello World')
 >>> timeit.timeit(a)
 0.7830071449279785
 "hi there %s" % name
 "hi there %s" % (name,)
 tu = (12,45,22222,103,6)
 print '{0} {2} {1} {2} {3} {2} {4} {2}'.format(*tu)
 li = [12,45,78,784,2,69,1254,4785,984]
 print map('the number is {}'.format,li)
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- sublist = filter( lambda s, substring=S:
 string.find(s, substring) != -1,
 L)
 sublist = [ s for s in L if string.find(s, S) != -1 ]
 [ expression for expr in sequence1
 for expr2 in sequence2 ...
 for exprN in sequenceN
 if condition ]
 filter(function, iterable)
 Construct a list from those elements of iterable for which function returns true.
 map(function, iterable, ...)¶
 Apply function to every item of iterable and return a list of the results.
 zip([iterable, ...])¶
 This function returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.
 >>> x = [1, 2, 3]
 >>> y = [4, 5, 6]
 >>> zipped = zip(x, y)
 >>> zipped
 [(1, 4), (2, 5), (3, 6)]
 >>> x2, y2 = zip(*zipped)
 >>> x == list(x2) and y == list(y2)
 True
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- >>> range(3, 6)             # normal call with separate arguments
 [3, 4, 5]
 >>> args = [3, 6]
 >>> range(*args) # call with arguments unpacked from a list
 [3, 4, 5]
 >>> def parrot(voltage, state='a stiff', action='voom'):
 ... print "-- This parrot wouldn't", action,
 ... print "if you put", voltage, "volts through it.",
 ... print "E's", state, "!"
 ...
 >>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
 >>> parrot(**d)
 -- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !
 彩虹炫 | 彩虹炫 | 匿名卡 | 编辑 删除 Tom 匿名卡 | 编辑 删除 Tom
- print "%s %s" % ("a", "b")
 print "%5.3s" % "abcde" # ..abc where "." shows the space
 print "%-5.3s" % "abcde" # abc.. where "." shows the space
 print "%i" % 3.12345 # 3
 print "%f" % 3.12345678 # 3.123457
 print "%.8f" % 3.12345678 # 3.12345678
 print "% i" % 3 # .3 where "." shows the space
 print "% i" % -3 # -3
 print "%+i" % 3 # +3
 print "%+i" %-3 # -3
 
No comments:
Post a Comment