您的位置:首页 > 编程语言 > Python开发

杂记(python)

2016-03-04 13:34 441 查看
class Pizza(object):
  def __init__(self, radius, height):
    self.radius = radius
    self.height = height
  @staticmethod
  def compute_area(radius):
    return math.pi * (radius**2)
  @classmethod
  def compute_volume(cls, height, radius):
    return height * cls.compute_area(radius)
  def get_volume(self):
    return self.compute_volume(self.height, self.radius)


yield (生产者&消费者模型)

def consumer():
r = ''
while True:
n = yield r
if not n:
return
print ('[CONSUME] Consuming %s...' %n)
def produce(c):
c.send(None)
n = 0
while n<5:
n = n + 1
print ('[PRODUCER] Producting %s...' %n)
r = c.send(n)
print ('[PRODUCER] Consumer return: %s' %r)
c.close
c = consumer()
produce(c)


__getattr__ 链式调用

class Chain(object):
def __init__(self, path = ''):
self._path = path
def __getattr__(self, path):
return Chain('%s%s' %(self._path, path))
def __str__(self):
return self._path
__repr__ = __str__
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: