1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. | a = [{'pk':1,'name':'one'}, {'pk':2,'name':'two'}, {'pk':3,'name':'three'}]
#def comp(x,y): return cmp(x['name'], y['name'])
print sorted(a, lambda x,y: cmp(x['name'], y['name']))
def get_names(): a = [{'pk':1,'name':'one'}, {'pk':2,'name':'two'}, {'pk':3,'name':'three'}] for elem in a: yield elem['name']
for name in get_names(): print name
class Test: pass
Test.a = 1 print Test.a
@staticmethod def func(): return 'static'
Test.f = func print Test.f()
t = Test()
t.b = 2 print t.a, t.b
def method(a): return 'method' + str(a)
Test.m = method print t.m()
print Test.m(t)
class Normal(object): def start(self): print 'start'
@staticmethod def static(): return 'static'
@classmethod def cstatic(cls): return cls()
n = Normal() print n.start()== Normal.start(n)
print Normal.static() print Normal.cstatic()
def double(f): def newf(*args, **kwargs): result = f(*args, **kwargs) return result * 2 return newf
@double def func1(): return 10
@double def func2(): return 'mom'
@double def func3(x,y): return x+y
print func1() print func2() print func3(1,2)
class Old: pass
o = Old() print type(o) print o.__class__
class New(object): pass n = New() print type(n) == n.__class__
class ODeriv(Old): def __init__(self): Old.__init__(self)
class NDeriv(New): def __init__(self): #New.__init__(self) super(NDeriv, self).__init__()
on = ODeriv() nd = NDeriv() |